在IB中,我放置了一个带有表视图和导航条的视图控制器。因为我想在编辑表时更改按钮上的操作(和文本),所以我决定以编程方式创建按钮。
在实现文件中,我设置了按钮(从Stackoverflow上的另一篇文章中复制):
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"Title";
UIBarButtonItem *editButton = [[UIBarButtonItem alloc] initWithTitle:@"Edit" style:UIBarButtonItemStylePlain target:self action:@selector(EditTable:)];
self.navigationItem.rightBarButtonItem = editButton;
}
但是当我在模拟器上运行这个时,我没有看到按钮。这是实现我的目标的正确方法吗?或者我做错什么了?
稍后,我还想添加一个Back、Add和Done按钮。
发布于 2014-10-22 18:21:22
您可能没有为该导航栏创建iboutlet。Self.navigationItem是一个属性,它可以在任何视图控制器上使用,并且只有当有一个导航控制器来管理您的视图控制器堆栈时才会应用它。与手工创建的navigationItems没有任何关系。
我假设,不管是导航条的出口还是故事板,单击您的视图控制器,然后编辑器->Embed In->导航控制器都将帮助您实现不正确的结果。
https://stackoverflow.com/questions/26513999
复制相似问题