使用捏手势来调整UILabel的大小

时间:2012-03-16 22:38:25

标签: iphone ios xcode ipad

我想让用户用捏合手势调整UILabel的大小。单独使用CGAffineTransformScale无法完成任务,因为标注时的文字在放大时会变得模糊。

所以我正在做的实际上是使用CGAffineTransformScale来展示它的扩展,保存帧大小,恢复转换标识,以及最终确定帧大小。一个简单的切换器,但它的工作原理。

-(void)handlePinch:(UIPinchGestureRecognizer *)recognizer{
    if(recognizer.state == UIGestureRecognizerStateBegan){
        startingTransform = self.transform;
    }
    recognizer.view.transform = CGAffineTransformScale(recognizer.view.transform, recognizer.scale, recognizer.scale);
    recognizer.scale = 1;

    if (recognizer.state == UIGestureRecognizerStateEnded){            
        CGRect endFrame = self.frame;
        self.transform = startingTransform;

        self.frame = endFrame;
    }
}

最终结果是UILabel的大小调整框架。但是,文本不会扩展以适合标签。此外,属性adjustsFontSizeToFitWidth仅适用于向下缩放,而不是向上(reference)。那么我应该怎样做才能使我的标签缩小以适应框架?

2 个答案:

答案 0 :(得分:1)

我认为你已经开始做某事了。 adjustFontSizeToFitWidth属性只会根据设置的大小调整字体大小 down ...如果标签的字体大小设置为非常大,会发生什么?与标签的可能框架尺寸相比,非常大,令人难以置信的大?

答案 1 :(得分:0)