最佳答案
我目前正在制作一个使用自定义视图控制器容器的应用程序。多个视图同时出现在屏幕上,当点击其中一个视图时,选定的视图控制器将显示为全屏。在这样做时,选定的视图控制器子视图也可以缩放(帧、字体大小等) ,但是 UILabel 的 font 属性是不可动画的,这会导致问题。我已经尝试了多种解决方案,但都是彻头彻尾的糟糕。
我尝试过的解决办法是:
一个是迄今为止最好的解决方案,但我对它并不满意。
我正在寻找其他建议,如果任何人有任何或 UILabel 的替代品,动画顺利使用[ UIView 动画. . ]。
这里有一个很好的例子,类似于我希望我的 UILabel 所做的: Http://www.cocoawithlove.com/2010/09/zoomingviewcontroller-to-animate-uiview.html
编辑: 这个代码工作
// Load View
self.label = [[UILabel alloc] init];
self.label.text = @"TEXT";
self.label.font = [UIFont boldSystemFontOfSize:20.0];
self.label.backgroundColor = [UIColor clearColor];
[self.label sizeToFit];
[self.view addSubview:self.label];
// Animation
self.label.font = [UIFont boldSystemFontOfSize:80.0];
self.label.transform = CGAffineTransformScale(self.label.transform, .25, .25);
[self.label sizeToFit];
[UIView animateWithDuration:1.0 animations:^{
self.label.transform = CGAffineTransformScale(self.label.transform, 4.0, 4.0);
self.label.center = self.view.center;
} completion:^(BOOL finished) {
self.label.font = [UIFont boldSystemFontOfSize:80.0];
self.label.transform = CGAffineTransformScale(self.label.transform, 1.0, 1.0);
[self.label sizeToFit];
}];