UITableView со статическими ячейками не появляется



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



simulatorxcode

606   5  

5 ответов:

вы хотите попробовать использовать TableViewController, а не общий вид контроллера ?

Не реализуйте ни один из приведенных ниже методов при использовании статического табличного представления:

- (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

    Ничего не найдено.