无法将 rightBarButtonItem 添加到 UIViewController
Posted
技术标签:
【中文标题】无法将 rightBarButtonItem 添加到 UIViewController【英文标题】:Can't add a rightBarButtonItem to a UIViewController 【发布时间】:2011-09-05 13:34:04 【问题描述】:我有下一个代码:
- (id) initWith...
if (self == [super initWithNibName:@"EmptyViewController"
bundle:[NSBundle mainBundle]])
...
back_btn = [[UIBarButtonItem alloc] initWithTitle:@"Back"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(backParentViewController)];
self.navigationItem.leftBarButtonItem = back_btn;
update_btn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh
target:self action:@selector(refresh)];
self.navigationItem.rightBarButtonItem = update_btn;
self.title = [utils LabelFromKey:@"commons.nav-button.reports"];
self.navigationItem.title = [utils LabelFromKey:@"commons.nav-button.reports"];
但是 rightBarButton 是不可见的。
我尝试将代码移动到 viewDidLoad,并将按钮设置为 navigationController.navigationItem 但不显示按钮
self.navigationController.navigationItem.rightBarButtonItem = update_btn;
有什么建议吗?
谢谢
【问题讨论】:
你导航控制器吗? 【参考方案1】:删除 ivar update_btn
。使用
viewDidLoad
开始分配
UIBarButtonItem *update_btn = [[UIBarButtonItem alloc] init...;
用这个语句分配项目:
self.navigationItem.rightBarButtonItem = update_btn;
[update_btn release];
让我知道这是否适合你。
【讨论】:
【参考方案2】:抱歉耽搁了,要使其正常工作,您必须在方法 viewDidAppear 中应用 UIBarButtonItem
【讨论】:
以上是关于无法将 rightBarButtonItem 添加到 UIViewController的主要内容,如果未能解决你的问题,请参考以下文章
UINavigationController 并将徽章添加到 rightBarButtonItem