1

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

enter image description here

4

3 回答 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 回答