objective-c – 如何动态放大UILabel(标签和字体大小)?

我目前正在开发一个iPhone项目.我想动态扩展Objective-C中的UILabel,如下所示:

alt text http://img268.imageshack.us/img268/9683/bildschirmfoto20100323u.png

这怎么可能?我认为我必须使用CoreAnimation,但我没有工作.这是我试过的代码

UILabel * fooL = //[…]
fooL.frame = CGRectMake(fooL.frame.origin.x,fooL.frame.origin.y,fooL.frame.size.width,fooL.frame.size.height);   
fooL.font = [UIFont fontWithName:@"Helvetica" size:80];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
[UIView setAnimationDelegate:self];
[UIView setAnimationDuration:0.5];
[UIView setAnimationBeginsFromCurrentState:YES];
fooL.font = [UIFont fontWithName:@"Helvetica" size:144]; //bigger size
fooL.frame = CGRectMake(20,44,728,167); //bigger frame
[UIView commitAnimations];

代码的问题在于它不会动态更改fontsize.

解决方法

您需要做的就是将仿射变换应用于UILabel对象.
CGFloat scaleFactor = 2.0f;
label.transform = CGAffineTransformMakeScale(scaleFactor,scaleFactor); // Enlarge by a factor of 2.

相关文章

对象的传值与返回说起函数,就不免要谈谈函数的参数和返回值...
从实现装饰者模式中思考C++指针和引用的选择最近在看...
关于vtordisp知多少?我相信不少人看到这篇文章,多半是来自...
那些陌生的C++关键字学过程序语言的人相信对关键字并...
命令行下的树形打印最近在处理代码分析问题时,需要将代码的...
虚函数与虚继承寻踪封装、继承、多态是面向对象语言的三大特...