我想让用户用捏合手势调整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)。那么我应该怎样做才能使我的标签缩小以适应框架?
答案 0 :(得分:1)
我认为你已经开始做某事了。 adjustFontSizeToFitWidth
属性只会根据设置的大小调整字体大小 down ...如果标签的字体大小设置为非常大,会发生什么?与标签的可能框架尺寸相比,非常大,令人难以置信的大?
答案 1 :(得分:0)