war*_*enm 7 interface-builder uibarbuttonitem uinavigationitem uistoryboard
将条形按钮项拖放到Interface Builder中的故事板中的视图控制器导航栏上非常简单.通过这种方式,您可以设置视图控制器导航项的leftBarButtonItem
和rightBarButtonItem
出口.但也有一个backBarButtonItem
出路,并没有明显如何设置它.如何使用Interface Builder设置自定义后退栏按钮项?
war*_*enm 18
选择要更改其导航项的视图控制器.显示视图控制器标识的黑条变为其引用对象的图标化托盘.
将条形按钮项目从对象库拖放到托盘上.
backBarButtonItem
插座.sum*_*ome 16
正如上面提到的@wcochran,当使用viewControllers推送到navigationController的堆栈时,backBarButtonItem出口已经连线并且无法更改.此外,选择子VC的navigationItem并更改IB中的后退按钮文本并不是您所期望的.
现在您可能会认为替换子VC的backBarButtonItem可以解决问题,但事实并非如此.令人困惑的是,如果要设置子VC的后退按钮的标题,则必须设置其父级(!)的后退按钮标题,如下所示:
- (void)viewWillAppear:(BOOL)animated // in the parent VC!
{
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];
self.navigationItem.backBarButtonItem = backButton;
}
Run Code Online (Sandbox Code Playgroud)
这对父VC没有任何作用.实际上,如果父对象是navigationController的RootViewController,则根本就没有后退按钮.但是孩子将继承(或拿起)你创建的后退按钮.
这仅适用于直接子VC,因此如果要通过navigationController的堆栈维护标签,则需要在每个父级上设置它.
感谢#iphonedev中的@wiliz向我解释这个问题.
归档时间: |
|
查看次数: |
21864 次 |
最近记录: |