UITableViewController против TableView - PullRequest
18 голосов
/ 14 марта 2012

В чем разница между перетаскиванием контроллера табличного представления в раскадровку и перетаскиванием контроллера представления пользовательского интерфейса и перетаскиванием табличного представления внутри него в xCode?

Я знаю, как заполнить контроллер табличного представления в коде.

- (UITableViewCell *)tableView:(UITableView *)tableView 
                     cellForRowAtIndexPath:(NSIndexPath *)indexPath;

Как заполнить табличное представление в контроллере представления пользовательского интерфейса?Какой пользовательский класс я делегирую представлению пользовательского интерфейса?Я не могу поставить tableViewController на него, так как это всего лишь ViewController с табличным представлением ...

Я хотел бы знать это, потому что я хотел бы иметь объекты, отличные от таблицы в этом представлении(т.е. часть представления предназначена для таблицы, а другая часть содержит метку, изображение и кнопку.)

Ответы [ 3 ]

26 голосов
/ 14 марта 2012

Заполнение UITableView внутри UIViewController ничем не отличается от заполнения UITableView внутри UITableViewController. Вам просто нужно убедиться, что вы реализуете необходимый источник данных и делегируете методы. Также необходимо убедиться, что UIViewController назначен в качестве делегата и источника данных для этого UITableView.

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

5 голосов
/ 08 июня 2016

Я нашел и другую разницу. При использовании UITableViewController, в котором есть UIScrollView, представление прокручивается вверх при перемещении клавиатуры вверх. Это не происходит с UIViewController, так как вам нужны отдельные методы для прокрутки View вверх и вниз.

Вы также можете посмотреть на это
https://stackoverflow.com/a/14465669/5553647

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