Flo*_*ked 7 core-animation objective-c uilabel
我目前正在开发一个iPhone项目.我想在Objective-C中动态扩展UILabel,如下所示:
替代文字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];
Run Code Online (Sandbox Code Playgroud)
此代码的问题在于它不会动态更改fontsize.
小智 0
试试这个方法:
\n\n+ (void)setAnimationTransition:(UIViewAnimationTransition)transition \n forView:(UIView *)view \n cache:(BOOL)cache\nRun Code Online (Sandbox Code Playgroud)\n\n参数:\ntransition\n要应用于视图的转换。UIViewAnimationTransition 中描述了可能的值。
\n\n视图\n要应用过渡的视图。
\n\n缓存\n如果是,视图的前后图像将渲染一次并用于创建动画中的帧。缓存可以提高性能,但如果将此参数设置为 YES,则在转换期间不得更新视图或其子视图。更新视图及其子视图可能会干扰缓存行为,并导致动画期间视图内容渲染不正确(或在错误的位置)。您必须等到转换结束才能更新视图。
\n\n如果“否”,则必须为过渡动画的每一帧更新视图及其内容,这可能会显着影响帧速率。
\n\n讨论\n如果要在转换期间更改视图的外观\xe2\x80\x94,例如从一个视图翻转到另一个\xe2\x80\x94,则使用容器视图,即 UIView 的实例,如下所示:
\n\n开始动画块。\n在容器视图上设置过渡。\n从容器视图中删除子视图。\n将新子视图添加到容器视图。\n提交动画块。
\n| 归档时间: |
|
| 查看次数: |
6771 次 |
| 最近记录: |