我使用基于TabBar的应用程序遇到动画问题(我认为)。我有四个标签栏项目,其中三个有UINavigationControllers,其中一个只有一个常规视图控制器。问题是在更改为带有动画的视图后,没有UINavigationController的第一个选项卡在更改条形时似乎不再具有正确的大小/位置。
最初,您可以毫无问题地逐步浏览所有四个选项卡,但在使用动画视图后,第一个视图将显示一个向下滑动的动画,就好像它的位置不正确一样。相反,其他视图在激活时将“向上滑动”约20px。我的第一个视图没有在IB中自动调整,它与其他视图具有相同的高度。我也尝试将其高度填充44px(NavigationBar的高度),但它显示了相同的效果。
此外,一旦此错误生效,如果第一次激活另一个视图;它以一种奇怪的动画形式出现,其各个元素从左下角开始生长并移动到位。
任何建议都表示赞赏,我倾向于认为这与没有导航控制器的视图的高度或大小有关;或者我的一个视图上的动画没有被正确取消。该视图有以下尝试阻止它(但它没有用):
-(void)viewWillDisappear:(BOOL)animated {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:0.1];
[UIView setAnimationCurve: UIViewAnimationCurveLinear];
[UIView commitAnimations];
[super viewWillDisappear:false];
}
答案 0 :(得分:0)
问题与不同的观点无关。我打开了一个动画块,但没有关闭它。这不会被捕获为语法错误,但会在每次转换时产生永无止境的动画。如果您看到滑动视图,我建议使用动画查看任何地方,并确认该块已关闭。