我有一个带有一堆 UIImageViews 的 ViewController,我需要将它们发送到前面并动画到视图的中心。
我曾尝试在投射 UIView 动画之前调用bringSubviewToFront,似乎正在发生的事情是视图被发送到堆栈的顶部,但动画没有发生(即使完成处理程序日志显示好像动画确实发生了)。
我第二次按下触发动画的按钮(考虑到这次视图已经在顶部索引,动画按原样发生)
这是我的代码:
- (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 代码与动画完美执行(除了视图在其他一些视图下),所以我很确定问题出在以下行:
[self.view bringSubviewToFront:countryView];
这是我目前所拥有的截图,可能会更清楚地说明这个问题: http ://d.pr/i/PKoa