推动视图控制器动画时,工具栏按钮闪烁(快速淡入)

Alz*_*orz 5 animation uibutton uitoolbar uinavigationcontroller ios

按下视图控制器时,我的工具栏按钮会淡出,然后在新视图中再次淡入。问题在于下一个视图中的按钮与上一个按钮具有相同的功能,因此切换屏幕时这些按钮看起来像是在快速闪烁。我的问题是,是否可以通过在推到新视图时禁用导航控制器的工具栏按钮的淡出功能来避免这种情况,或者是否可以将工具栏绑定到导航控制器,使所有视图都相同。自从我看到在按下新屏幕时导航栏按钮不会消失的最后一个建议。

iln*_*_al 1

我很惊讶没有人回答你。我刚刚遇到这个问题,这是我找到的解决方案。

  1. 子类化您的导航控制器

  2. 覆盖你的push/pop方法

-(UIViewController*)popViewControllerAnimated:(BOOL)animated
{
    self.navigationBarHidden = YES;
    UIViewController *vc = [super popViewControllerAnimated:animated];
    self.navigationBarHidden = NO;
    return vc;
}

-(void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
{
    self.navigationBarHidden = YES;
    [self pushViewController:viewController animated:animated];
    self.navigationBarHidden = NO;
}
Run Code Online (Sandbox Code Playgroud)

它对我有用。