在放大时间内自动设置UILabel数字线和字体大小

时间:2013-11-01 13:58:00

标签: ios iphone uiview uilabel uipinchgesturerecognizer

我的要求如下。

我在UILable内添加了UIView width & height is 30。我已将UIPinchGestureRecognizer设置为UIView。使用UIView可以轻松完成功能。

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

因此,在视图中看不到初始UILable。当我放大时间UILable时,要显示text,以便显示UILable(例如,此时间为3行)。如果我增加缩放级别,则文本将显示在一行中。

如何归档此功能?

请参阅下面的屏幕截图我想做什么

enter image description here ********图片1 *****************

enter image description here ********图片2 *****************

enter image description here ********图片3 *****************

先谢谢..

2 个答案:

答案 0 :(得分:3)

您可以使用委托检测缩放何时更改,然后使标签可见:

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

使用minimunScaleToShowZoom的不同值进行游戏,并检查哪一个适合您。

答案 1 :(得分:2)

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