我在UINavigationController中设置了自定义UINavigationBar。当从NavigationController推送和弹出新的viewcontrollers时,我想阻止NavigationBar动画化。通常,UINavigationBar在推送期间从右到左动画标题和后退按钮,在弹出期间从左到右动画。我想停止这个功能,保持NavigationBar或多或少静态。
我可以通过覆盖自定义UINavigationBar中的以下内容来阻止弹出动画:
-(UINavigationItem *)popNavigationItemAnimated:(BOOL)animated{
return [super popNavigationItemAnimated:NO];
}
但是,如果我覆盖
- (void)pushNavigationItem:(UINavigationItem *)item animated:(BOOL)animated
每当我将新的viewcontroller推送到NavigationController时,UINavigationBar仍然会动画。
编辑:我仍然希望推送或弹出的viewController能够进行动画制作。只应该停止NavigationBar。
答案 0 :(得分:0)
这对我有用 - 在UINavigationBar上覆盖此方法:
- (void)pushNavigationItem:(UINavigationItem *)item {
NSMutableArray* items = [[self items] mutableCopy];
[items addObject:item];
self.items = items;
}