Sco*_*ott 9 iphone objective-c uinavigationbar uinavigationcontroller uinavigationitem
我在a UINavigationController的第一个标签中有一个加载UITabBarController.我想在右侧添加一个刷新按钮UINavigationItem.我的朦胧理解是,在将其添加到控件层次结构之前,必须在导航控制器上设置标题和按钮等属性.我没有问题将按钮添加到子导航控制器,但我很难知道如何更改根,因为它是从笔尖加载的.
因此,在下面的IB屏幕上(哎呀,没有足够的声誉点,让我试图绘制这个......),我正在尝试为所选项添加一个刷新按钮.
- 文件的所有者
- 急救人员
- App代表
- 窗口
- 标签栏控制器
- 标签栏
- 观察列表视图控制器
- 导航栏
- 查看控制器
- 表视图
- 导航项目
- 标签栏项目
- 另一个List View Controller
- 等等
- 等等
我试图添加按钮navigationController's viewDidLoad,没有任何帮助:
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh
target:self
action:@selector(refresh:)];
}
Run Code Online (Sandbox Code Playgroud)
我还尝试以编程方式将我添加ObservationListViewController到UITabBarController,并在该块中插入按钮,但我的方式已经超出了我的深度.
知道如何在从笔尖加载导航控制器的过程中添加一个按钮吗?
谢谢!
Nim*_*rod 21
看起来你的viewDidLoad方法正在分配但不释放条形按钮项.你应该做这个:
UIBarButtonItem *button = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh
target:self
action:@selector(refresh:)];
self.navigationItem.rightBarButtonItem = button;
[button release];
Run Code Online (Sandbox Code Playgroud)
您不需要在导航控制器中执行此操作,而是在导航控制器中包含的根视图控制器中执行此操作.换句话说,把它放在"视图控制器"而不是"观察列表视图控制器"中
您推入导航控制器的每个控制器都可以拥有自己的self.navigationItem.whatever,当新控制器被推入其堆栈时,导航控制器将显示该控制器.
| 归档时间: |
|
| 查看次数: |
10776 次 |
| 最近记录: |