【问题标题】:UILable numberoflines and font size automatically set during zoom in out timeUILabel numberoflines 和 font size 在缩小时自动设置
【发布时间】:2024-01-23 04:51:02
【问题描述】:

我的要求如下。

我在UIView width & height is 30 中添加了一个UILable。我已将UIPinchGestureRecognizer 设置为UIView。捏合功能在 UIView 上运行良好。

但我希望当我放大UILable 字体大小和numberOfLine 时自动设置为UIView

所以最初UILable 在视图中不可见。当我放大那个时间UILable 得到显示text 所以UILable 将是可见的(例如,这次是3 行)。如果我增加缩放级别,则文本将显示在一行中。

如何归档此功能?

看下面的截图我想做什么

******** 图片 1 *****************

******** 图 2 *****************

******** 图 3 *****************

在此先感谢..

【问题讨论】:

标签: ios iphone uiview uilabel uipinchgesturerecognizer


【解决方案1】:

您可以使用代理来检测缩放何时发生变化,然后让您的标签可见:

- (void)scrollViewDidZoom:(UIScrollView *)scrollView
{
     if (scrollView.zoomScale > minimunScaleToShowZoom)
     {
         myLabel.hidden = NO;
     }
     else
     {
        myLabel.hidden = YES;
     }
}

minimunScaleToShowZoom 使用不同的值,看看哪个适合你。

【讨论】:

  • 我不想要标签隐藏和显示。当 UIView 缩小时,NumberofLines 也将保持不变。目前我正在尝试使用 UIScrollView 放大/缩小功能,但没有成功。你有什么想法吗?
【解决方案2】:

看到这个:resize all subview in scrollViewDidZoomscrollViewDidZoom 上,您可以将字体大小按比例设置为缩放比例。我建议在标签上将numberOfLines 设置为0,当然你也可以在放大/缩小时手动设置。

【讨论】:

    最近更新 更多