UITabBarController,动画导致其他视图滑动而没有UINavigationController

时间:2010-02-18 20:23:10

标签: iphone animation uinavigationcontroller uitabbarcontroller

我使用基于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];  
}

1 个答案:

答案 0 :(得分:0)

问题与不同的观点无关。我打开了一个动画块,但没有关闭它。这不会被捕获为语法错误,但会在每次转换时产生永无止境的动画。如果您看到滑动视图,我建议使用动画查看任何地方,并确认该块已关闭。