Могу ли я создать UITableViewController, который наследуется от пользовательского подкласса UIViewController? - PullRequest
6 голосов
/ 18 апреля 2010

У меня есть общие функциональные возможности, к которым мне нужно получить доступ со всех экранов моего приложения: элемент правой кнопки и соответствующее действие.

Чтобы не повторять код, я хотел бы установить его в пользовательском UIViewController и получить от него все мои контроллеры представления.

- (void)viewDidLoad {
    UIBarButtonItem *rightBarButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPlay target:self action:@selector(lightsCamera)];
    self.navigationItem.rightBarButtonItem = rightBarButton;
}

- (void)lightsCamera {
    …
}

Тем не менее, у меня есть несколько UITableViewControllers, и я хотел бы знать, если они могут наследовать функциональность тоже?

Ответы [ 2 ]

6 голосов
/ 18 апреля 2010

Довольно просто воссоздать свой собственный UITableViewController из своего пользовательского UIViewController подкласса.

Контроллер должен иметь свойство UITableView, которое также устанавливается на его свойство view, устанавливать правильные маски изменения размера, устанавливать себя в качестве делегата и источника данных таблицы и не забывать мигать индикаторы полосы прокрутки в -viewDidAppear: и вы более или менее получили его.

Подробнее здесь .

2 голосов
/ 18 апреля 2010

Если вы не добавляете какие-либо новые атрибуты в контроллер представления, вы можете реализовать два метода в категории в UIViewController, и все подклассы будут наследовать его по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...