我正在创建一个应用程序,我在其中创建了自定义导航栏 - MyNavigationBar (扩展了UIView):
MyNavigationBar.xib :
MyNavigationBar.m :
+(id)navigationBar{
MyNavigationBar * bar = (MyNavigationBar *) [[[NSBundle mainBundle] loadNibNamed:@"MyNavigationBar" owner:self options:nil] objectAtIndex:0];
return bar;
}
然后在 NavigationViewController 实现中,我使用此代码将上面显示的视图添加到 navigationBar :
NavigationViewController.m :
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
_navBar = [MyNavigationBar navigationBar];
[self.navigationBar addSubview:_navBar];
}
return self;
}
按下左键( MyNavigationBar 的子视图)时
[[self navigationController] popViewControllerAnimated:YES];
被召唤。
问题在于,在流行动画故障发生时,它看起来像这样:
后退按钮在所有动画持续时间内都可见,然后消失。
我试过这个但没有任何反应:
[_navigationBar.backItem setHidesBackButton:YES];
答案 0 :(得分:0)
不要将自定义子视图添加到导航栏,而是尝试将navigationItem.titleView设置为自定义UIView,或使用[UINavigationBar外观]和[UIBarButtonItem外观] API来自定义标准控件。