I need to make a view that will be changing a UILabel font-size (as on a picture below), for example when I touch right top corner and dragging to the top UILabel must changes it font-size.. please help me
问问题
155 次
3 回答
1
我不确定你到底想要做什么,但也许这会让你开始:
确保你有一个 UILabel(我命名为 myLabel)正确连接(必须检查用户交互启用),然后在父类中:
在 viewDidLoad 中:
UIPinchGestureRecognizer *recognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self
action:@selector(twoFingerPinch:)];
[myLabel addGestureRecognizer:recognizer];
- (void)twoFingerPinch:(UIPinchGestureRecognizer *)recognizer {
// Modify this to suit your needs
if (recognizer.scale > 1.5) {
self.myLabel.font = [UIFont systemFontOfSize:recognizer.scale *10];
} else {
self.myLabel.font = [UIFont systemFontOfSize:14];
}
}
那里有几种不同的手势识别器,也许 tapGestureRecognizer 可能更适合你。这个将随着用户捏/缩放而调整大小。
于 2012-05-06T12:54:10.297 回答
1
我不确定我是否正确理解了您的问题。您可以尝试将初始字体大小设置为较大的值,然后将myLabel.adjustsFontSizeToFitWidth = YES;
. 这样,如果标签对于适合的文本来说太小,字体大小将自动缩小。
于 2012-05-06T12:27:30.393 回答
1
如果您需要的是可调整大小的 UIView。您可以查看适用于 iOS 的 SPUserResizableView
然后,我确信处理 UILabel 的大小是通过adjustsFontSizeToFitWidth
像 Adrian 所说的那样将属性设置为 YES 来完成的。
于 2012-05-06T12:40:48.063 回答