澄清组件和动画方法的效率

时间:2012-02-27 19:00:33

标签: objective-c ios xcode

我查看了Apple文档中的动画,其中大部分内容似乎很清楚。但是,我很快就会向一群人解释动画,并且我不太了解动画方法的一些组成部分。这是我从文档中删除的代码:

- (IBAction)showHideView:(id)sender
{
    // Fade out the view right away
    [UIView animateWithDuration:1.0
        delay: 0.0
        options: UIViewAnimationOptionCurveEaseIn
        animations:^{
             thirdView.alpha = 0.0;
        }
        completion:^(BOOL finished){
            // Wait one second and then fade in the view
            [UIView animateWithDuration:1.0
                 delay: 1.0
                 options:UIViewAnimationOptionCurveEaseOut
                 animations:^{
                    thirdView.alpha = 1.0;
                 }
                 completion:nil];
        }];
}

首先,我想知道这个基于块的过程是否比使用开始/提交过程更好。

我的其他问题是在代码块中的每个方法之前的箭头(^)和UIViewAnimationOption的使用。

为什么在每个子方法之前需要箭头?

UIViewAnimationOption只是一个原语,还是会自动返回一个值?

感谢任何帮助

1 个答案:

答案 0 :(得分:0)

只需查看UIView文档即可找到大多数问题的答案。

来自文档:

在iOS 4及更高版本中不鼓励使用此(开始/提交)部分中的方法。请改用基于块的动画方法。

同一文档列出UIViewAnimationOptionstypedef NSUInteger UIViewAnimationOptions; NSUInteger基本上只是标准unsigned int的typedef。

插入符号(^)用于表示块。