UILabel numberoflines 和 font size 在缩小时自动设置

Posted

技术标签:

【中文标题】UILabel numberoflines 和 font size 在缩小时自动设置【英文标题】:UILable numberoflines and font size automatically set during zoom in out time 【发布时间】:2013-11-01 13:57:59 【问题描述】:

我的要求如下。

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

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

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

如何归档此功能?

看下面的截图我想做什么

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

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

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

在此先感谢..

【问题讨论】:

查看此链接,其有用的文本可放大/缩小和旋转***.com/questions/16038304/… 【参考方案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 scrollViewDidZoom 在scrollViewDidZoom 上,您可以将字体大小按比例设置为缩放比例。我建议在标签上将numberOfLines 设置为0,当然你也可以在放大/缩小时手动设置。

【讨论】:

以上是关于UILabel numberoflines 和 font size 在缩小时自动设置的主要内容,如果未能解决你的问题,请参考以下文章

UILabel numberoflines 和 font size 在缩小时自动设置

numberOfLines=2 的 UILabel 使用啥约束高度? (使用 [NSString sizeWithFont...])

UILabel 的 numberOfLines 在单元格中不起作用

UILabel属性(文本标签)

以编程方式根据行数动态调整 UILabel 的大小

当UITableViewCell被点击时,UILabel未按预期更新的行数