I have common functionality that I need to access from all screens of my app: a right bar button item and associated action.
So as not to repeat the code I would like to set this up in a custom UIViewController and have all my view controllers inherit from it.
- (void)viewDidLoad {
UIBarButtonItem *rightBarButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPlay target:self action:@selector(lightsCamera)];
self.navigationItem.rightBarButtonItem = rightBarButton;
}
- (void)lightsCamera {
…
}
However, I have a number of UITableViewControllers however and I would like to know if it is possible for them to inherit the functionality too?
It’s fairly trivial to recreate you own
UITableViewControllerfrom your customUIViewControllersubclass.The controller must have a
UITableViewproperty, which is also set to itsviewproperty, set the proper resizing masks, set yourself as the table’s delegate and datasource, and remember to flash the scrollbar indicators in-viewDidAppear:and you’ve more or less got it.More here.