UITableView со статическими ячейками не появляется
Я создал новый проект Xcode с помощью раскадровки (шаблон представления вкладки). Я добавил пару контроллеров вида в свою раскадровку и хотел использовать UITableView со статическими ячейками для одного. Я создал его, но когда я запускаю в симуляторе клетки не появляются. Я ничего не изменил в проекте, кроме этого файла раскадровки. Я показываю скриншоты редактора раскадровки и запущенного симулятора. Метка отображается, поэтому представление загружается правильно. Я установил фон цвет до серого, поэтому я вижу, что talbeview загружается. Все ячейки имеют значение видимые. Я изменил их стиль на базовый и отредактировал ярлык, и добавил индикатор раскрытия, вот и все.


5 ответов:
Не реализуйте ни один из приведенных ниже методов при использовании статического табличного представления:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { }
Как указано на сайте Рэй Вендерлих (в этом посте: начало раскадровки в iOS 5 Часть 2, раздел "Экран добавления плеера на работе"):
еще одна вещь, о статических камерах, они работают только в UITableViewController. Редактор раскадровки позволит вам добавить их объект представления таблицы внутри обычного UIViewController, но это не будет работа во время выполнения. Причина этого заключается в том, что UITableViewController обеспечивает некоторую дополнительную магию, чтобы взять забота об источнике данных для статические ячейки. В Xcode даже предотвращает вас от составления такого проекта с сообщением об ошибке: "Незаконная конфигурация: статические табличные представления допустимо только при внедрении в экземпляры UITableViewController".
была та же проблема, но это делает вещи ясными...
вы можете добавить представление контейнера и внедрить UITableViewController в этот контейнер. Затем вы можете управлять статическими ячейками внутри нового контроллера.
я испытывал ту же проблему, и исправление, которое сработало для меня, состояло в том, чтобы представить статический подкласс UITableViewController с помощью
performSegue.представление старый способ С[[self navigationController] present...]не привело к правильной загрузке ячеек статического табличного представления.
Comments