本文介绍了UIBarButton不会在我的UINavigationController中显示的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想创建一个带有导航栏和表视图的简单视图。所以我创建了UINavigationController
的一个子类,并在其中添加了一个UITableView
。我的IS也是UITableViewDataSource
和UITableViewDelegate
。现在我想在导航栏中添加UIBarButton
,但它不起作用:
UIBarButtonItem *anotherButton = [[UIBarButtonItem alloc] initWithTitle:[[Translator instance] getTranslation:@"Back"]
style:UIBarButtonItemStylePlain
target:self.parentViewController
action:@selector(dismissFiltersModal:)];
self.navigationItem.backBarButtonItem = anotherButton;
没有错误地显示了视图,但没有显示按钮。我如何才能显示它?
推荐答案
jafar,
正如Apple文档建议您应避免子类UINavigationController
。
此类不用于子类化。
说到这里,你可以遵循这些简单的步骤(给你的一些建议):
- 创建扩展
UIViewController
的控制器(比如MyController
),并在此处添加表格。将您的控制器设置为该表的代理和数据源。如果您是由XIB创建的,则需要为您的表视图提供插座。
[P.S。您还可以子类化aUITableViewController
,它有自己的表视图]
- 在
MyController
的viewDidLoad
中自定义导航栏。
例如
UIBarButtonItem* myButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(someSelector)];
self.navigationItem.leftBarButtonItem = myButton;
您还可以自定义标题。
例如
self.title = @"Your custom title";
- 在代码中的某个位置创建
UINavigationController
,并将MyController
的实例添加为根视图控制器。
例如:
MyController* myCtr = // alloc-init here
UINavigationController* nc = [[UINavigationController alloc] initWithRootViewController:myCtr];
这篇关于UIBarButton不会在我的UINavigationController中显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!