1

我在 UINavigationController 中设置了自定义 UINavigationBar。当从 NavigationController 推送和弹出新的视图控制器时,我想防止 NavigationBar 动画。通常,UINavigationBar 在推送期间从右到左动画标题和后退按钮,在弹出期间从左到右动画。我想停止此功能,使 NavigationBar 或多或少保持静态。

我可以通过在我的自定义 UINavigationBar 中覆盖以下内容来防止弹出动画:

-(UINavigationItem *)popNavigationItemAnimated:(BOOL)animated{
    return [super popNavigationItemAnimated:NO];
}

但是,如果我覆盖

- (void)pushNavigationItem:(UINavigationItem *)item animated:(BOOL)animated

每当我将新的视图控制器推送到 NavigationController 上时,UINavigationBar 仍然会显示动画。

编辑:我仍然希望推送或弹出的 viewController 动画进出。只有 NavigationBar 应该停止。

4

1 回答 1

0

这对我有用 - 在 UINavigationBar 上覆盖此方法:

- (void)pushNavigationItem:(UINavigationItem *)item {
    NSMutableArray* items = [[self items] mutableCopy];
    [items addObject:item];
    self.items = items;
}
于 2015-10-27T20:30:58.857 回答