iOS 【UIKit-首尾式动画不足&动画嵌套设置方法】

来源:互联网 发布:php旅游网站文献 编辑:程序博客网 时间:2024/05/22 02:35

我们之前接触过 首尾式动画,这种动画大都已经不用了,缺点是不容易监听动画完成时间,而且不容易实现动画嵌套。

//    label.alpha = 0.0;//    [UIView beginAnimations:nil context:nil];//    [UIView setAnimationDuration:1.0f];//    label.alpha = 1.0;//    [UIView commitAnimations];

我们介绍一种新的设置动画的方式:

//    UIView animateWithDuration:(NSTimeInterval) animations:<#^(void)animations#> completion:<#^(BOOL finished)completion#>

我们看到这个方法有三个参数,第一个是动画持续时间,而后面两个参数是两个block变量做为方法的参数。我们将这条语句填充一下。

    label.alpha = 0.0;//初始的透明度为0.0//    禁用按钮(正确位置)    button.enabled = NO;//                            动画时间    [UIView animateWithDuration:1.0f animations:^{        NSLog(@"动画开始");        //要修改的动画属性        label.alpha = 1.0;    } completion:^(BOOL finished) {        //动画完成后所做的操作        //我们再这里可以嵌套另外一个动画            [UIView animateWithDuration:1.0 animations:^{            label.alpha = 0.0;        } completion:^(BOOL finished) {            NSLog(@"动画完成");//            button.enabled = NO;  //如果将禁用按钮放在这里,那么狂点按钮的话是会输出很多次的。一直到动画完成之后才不能点,所以说按钮禁用要放在动画开始之前,按钮第一次触发,//即刻禁用,那样的话动画只走一遍。            [label removeFromSuperview];<pre name="code" class="objc">//removefromsuperview是把当前view从它的父view和窗口中移除,同时也把它从响应事件操作的响应者链中移除。 
 }]; }];


6 0
原创粉丝点击