popViewControllerAnimated上显示后退按钮:是

时间:2013-02-10 11:26:36

标签: ios uinavigationbar back-button popviewcontrolleranimated

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

MyNavigationBar.xib

nib of that custom view

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];

被召唤。

问题在于,在流行动画故障发生时,它看起来像这样:

enter image description here enter image description here

后退按钮在所有动画持续时间内都可见,然后消失。

我试过这个但没有任何反应:

[_navigationBar.backItem setHidesBackButton:YES];

1 个答案:

答案 0 :(得分:0)

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