UITableViewController vs TableView
В чем разница между перетаскиванием контроллера табличного представления в раскадровку и перетаскиванием контроллера представления пользовательского интерфейса и перетаскиванием вида таблицы внутри этого в xCode?
Я знаю, как заполнить контроллер табличного представления в коде.
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath;
Как заполнить представление таблицы в UI View Controller? Какой пользовательский класс я должен делегировать в представление пользовательского интерфейса? Кажется, я не ставил на него TableViewController, поскольку это только ViewController с табличным представлением...
Я хотел бы знать это, потому что я хотел бы иметь объекты, отличные от таблицы в этом представлении (т.е. раздел представления для таблицы, а другой раздел содержит метку, изображение и кнопку.)
Ответы
Ответ 1
Заполнение UITableView внутри UIViewController не отличается от заполнения UITableView внутри UITableViewController. Вам просто нужно убедиться, что вы реализуете необходимые методы источника данных и делегирования. Вы также должны обязательно назначить UIViewController как делегат и источник данных для этого UITableView.
Если вы хотите объекты, отличные от таблицы, то вы должны использовать UIViewController. На самом деле, я редко использую UITableViewController больше на случай, если мне нужно добавить другие объекты.
Ответ 2
Я нашел и другую разницу.
При использовании UITableViewController
, который имеет UIScrollView
в нем, просмотр прокручивается, когда клавиатура перемещается вверх.
Этого не происходит с UIViewController
, поскольку вам нужны отдельные методы для прокрутки View вверх и вниз.
Вы также можете взглянуть на этот
fooobar.com/questions/2664/...
Ответ 3
Только UITableViewController может иметь статический контент. https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/TableView_iPhone/TableViewCells/TableViewCells.html#//apple_ref/doc/uid/TP40007451-CH7-SW20