我需要从我的应用的所有屏幕访问我的常用功能:右键栏项和相关操作。
为了不重复代码,我想在自定义的UIViewController中设置它并让我的所有视图控制器继承它。
- (void)viewDidLoad {
UIBarButtonItem *rightBarButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPlay target:self action:@selector(lightsCamera)];
self.navigationItem.rightBarButtonItem = rightBarButton;
}
- (void)lightsCamera {
…
}
但是,我有许多UITableViewControllers,我想知道他们是否有可能继承这个功能?
答案 0 :(得分:6)
从自定义UITableViewController
子类重新创建自己的UIViewController
非常简单。
控制器必须具有UITableView
属性,该属性也设置为其view
属性,设置适当的大小调整掩码,将自己设置为表的委托和数据源,并记住闪烁滚动条指示器在-viewDidAppear:
,你或多或少得到了它。
更多here。
答案 1 :(得分:2)
如果您没有向视图控制器添加任何新属性,则可以在UIViewController上的类别中实现这两个方法,并且默认情况下所有子类都将继承它。