0

我正在制作一个应用程序,我在其中创建了自定义导航栏 - MyNavigationBar(扩展 UIView):

MyNavigationBar.xib

该自定义视图的笔尖

我的导航栏.m

    +(id)navigationBar{
    MyNavigationBar * bar = (MyNavigationBar *) [[[NSBundle mainBundle] loadNibNamed:@"MyNavigationBar" owner:self options:nil] objectAtIndex:0];
    return bar;
}

然后在NavigationViewController实现中,我使用此代码将上面显示的视图添加到navigationBar

导航视图控制器.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];
4

1 回答 1

0

尝试将 navigationItem.titleView 设置为您的自定义 UIView 或使用 [UINavigationBar 外观] 和 [UIBarButtonItem 外观] API 来自定义标准控件,而不是向导航栏添加自定义子视图。

于 2013-02-10T11:36:53.673 回答