ios – 检查UIView当前是否正在制作动画

我有两个动画在运行;显示搜索栏和显示横幅.这两个动画都在调整相同视图的大小,如果它们在同一时间运行(它们是哪个),则最新动画将取消调整大小.反正有没有检查UIView当前是否正在动画,然后待机动画?

我很确定我没有使用CAAnimations,因为Cocoa没有检测到这样的类.

这个是在收到广告时运行的.不幸的是,这与ShowSearch运行的时间相同.

- (void)adViewDidReceiveAd:(GADBannerView *)bannerView {
    if (!hasloaded) {
        [UIView beginAnimations:nil context:nil];
        [UIView setAnimationCurve: UIViewAnimationCurveEaseInOut];
        [UIView setAnimationDuration: 1.0];

        [bannerView_ setFrame:CGRectMake(0, self.view.frame.size.height, bannerView_.frame.size.width, bannerView_.frame.size.height)];

        // move and grow
        [bannerView_ setFrame:CGRectMake(0, self.view.frame.size.height-50, bannerView_.frame.size.width, bannerView_.frame.size.height)];
        // set original position
        [UIT setFrame:CGRectMake(UIT.frame.origin.x, UIT.frame.origin.y, UIT.frame.size.width, UIT.frame.size.height)];

        // move and grow
        [UIT setFrame:CGRectMake(UIT.frame.origin.x, UIT.frame.origin.y, UIT.frame.size.width, UIT.frame.size.height-50)];

        [UIView commitAnimations];
        hasloaded = true;
    }
}

最佳答案 您可以使用UIView方法
+animateWithDuration:animations:completion:中的完成块(这是beginAnimations / commitAnimations的一个更现代的替代方法)来链接多个动画(我猜这是您想要做的?).

点赞