Как показать UITableView внутри UIViewController? - PullRequest
0 голосов
/ 20 октября 2011

Я выдвигаю detailViewController (UIViewController) из UITableViewController. detailViewController состоит из UITextView и небольшого UITableView. Я установил мой detailViewController как UIViewController, который реализует протоколы UITableViewDataSource и UITableViewDelegate. У меня есть выходы делегатов и источников данных в IB. У меня есть те необходимые методы делегата таблицы и источника данных, которые вызываются, когда detailViewController помещается сверху. Меня называют методами, которые устанавливают количество разделов (1) и количество строк в разделе (2). Проблема в том, что я не вижу свой tableView на экране, когда detailViewController находится сверху.

Я заметил, что Xcode предупреждает меня о initWithStyle в detailViewController, что он может не отвечать на [super initWithStyle: style]:

- (id)initWithStyle:(UITableViewStyle)style{
  self = [super initWithStyle:style];
  if (self) {
    // Custom initialization
  }
  return self;
} 

Я понимаю, что он не принадлежит UIViewController, но как все устроить?

ОБНОВЛЕНИЕ: Похоже, мой табличный вид уменьшен. Я установил достаточную высоту и ширину для него в IB, но похоже, что tableView появляется на экране с очень узкой одной строкой и не меняет размер при заполнении таблицами строк. ИМХО это как-то связано с невозможностью вызова initWithStyle. Кто-нибудь достиг подобного решения другими способами?

1 Ответ

0 голосов
/ 20 октября 2011

Как вы сказали, detailViewController - это подкласс UIViewController. UIViewController не реализует -initWithStyle:, поэтому предупреждение допустимо.

Не можете ли вы подкласс detailViewController из UITableViewController?

Если вам нужно использовать UIViewController, вам нужно создать розетку tableView, созданную в detailedViewController, и она должна быть подключена к вашему столу в IB. Вы убедились, что это сделано?

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