我有一个视图控制器与一群我需要发送到前和动画的视图的中心的UIImageViews的。的iOS bringSubviewToFront阻断的UIView动画
我试图在投射UIView动画之前调用bringSubviewToFront,看起来发生的是视图发送到栈顶,但动画不会发生(即使完成处理程序日志显示为if动画DID发生)。
我第二次按触发动画的按钮(考虑到这一次的观点已经在顶部指数,动画发生,因为它应该)
继承人我的代码:
- (void)beginAnimationWithSelectedCountry:(UIView *)countryView
{
if (!countryView) return;
[self.view bringSubviewToFront:countryView];
[UIView animateWithDuration:0.6f delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
countryView.center = CGPointMake(self.view.center.x, self.view.center.y);
} completion:^(BOOL finished) {
NSLog(@"Animation complete");
}];
}
有什么想法?我已经在这个几个小时了>。 <
感谢
编辑: 如果我注释掉bringSubviewToFront代码与动画完美地执行(除了认为是在一些其他的看法),所以我敢肯定preety问题是与线:
[self.view bringSubviewToFront:countryView];
下面有什么,我现在有一个截图可以阐明这个问题一些光: http://d.pr/i/PKoa
我将开始与如─return语句还有,看看你的方法,甚至被称为与NSLog的首次周围。 – CodaFi
已经选中,因为我发布了“动画完整”日志被称为两次。谢谢您的好意 –
做到这一点 - 把动画称为animateCountry第二种方法把动画代码在里面 - 在开始的方法调用bringSubViewToFront - 然后调用[自我performSelector:animateCountry ...它会工作。 –