8

Apple 的文档描述UIViewAnimationOptionLayoutSubviews为:

在提交时布置子视图,以便它们与父视图一起动画。

这是我感兴趣的代码示例。我希望为-layoutSubviewsof设置动画detailView;但是,它似乎没有布局 的子视图detailView,所以我不确定它实际上有什么效果。

    void (^animation) () = ^
    {
        [self.detailView setNeedsLayout];
        [self.detailView layoutIfNeeded];
    };

    [UIView animateWithDuration:0.5
                          delay:0.0
                        options:UIViewAnimationOptionLayoutSubviews
                     animations:^{
                         animation();
                     }
                     completion:nil];
4

1 回答 1

0

由于您希望您的第二个动画从您的第一个动画的当前状态发生(无论它是否完成),我建议在设置您的第二个动画时使用 UIViewAnimationOptionLayoutSubviews 选项。

[UIView animateWithDuration:0.2
                      delay:0.0
                    options:UIViewAnimationOptionLayoutSubviews
                 animations:^{
                     CGAffineTransform settingsTransform = CGAffineTransformMakeTranslation(self.animatedView.frame.size.width, 0);
                        self.animatedView.transform = settingsTransform;
                 } 
completion:nil];
于 2015-03-25T05:39:11.210 回答