我想在导航栏的中心放置一个UIButton。基于该文档,我似乎需要设置标题视图,并确保leftBarButtonItem为nil。但它对我不起作用。这是代码。
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btn setTitle:@"List" forState:UIControlStateNormal];
self.navigationItem.leftBarButtonItem = nil;
[self.navigationItem.titleView addSubview:btn];
答案 0 :(得分:28)
如果你检查你的按钮,你会发现通过使用方便方法来初始化它,你会得到一个0x0按钮,它位于正被添加到的视图范围内的0,0。在执行此操作之前,您必须定义按钮的frame
属性的内容。请参阅以下代码:
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn.frame = CGRectMake(0, 0, 400, kCustomButtonHeight);
[btn setTitle:@"list" forState:UIControlStateNormal];
self.navigationItem.titleView = btn;
答案 1 :(得分:7)
默认情况下,navigationItem的视图设置为nil。
您需要使用
self.navigationItem.titleView = btn;
答案 2 :(得分:7)
在我的情况下,我试图在子视图控制器中设置它,这解决了它
self.parentViewController.navigationItem.titleView = titleView;