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

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

simulatorxcode

Ответ 1

Вы хотите попробовать использовать TableViewController, а не контроллер Generic View?

Ответ 2

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

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
}

Ответ 3

Как указано на веб-сайте Ray Wenderlich (в этом сообщении: Начало раскадровки в iOS 5 Part 2, раздел "Добавить экран игрока на работу", ):

Еще одна вещь о статических ячейках, они работают только UITableViewController. Редактор раскадровки позволит вам добавить их в объект Table View внутри обычного UIViewController, но это не будет работать во время выполнения. Причина этого в том, что UITableViewController предоставляет некоторую дополнительную магию, чтобы заботиться о источнике данных для статические ячейки. Xcode даже не позволяет вам скомпилировать такой проект с сообщением об ошибке: "Незаконная конфигурация: представления в статической таблице действителен только при вставке в экземпляры UITableViewController".

Имел ту же проблему, но это делает все ясно...

Ответ 4

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

Ответ 5

У меня возникла одна и та же проблема, и исправление, которое сработало для меня, состояло в представлении статического подкласса UITableViewController с использованием performSegue. Представление старого способа с помощью [[self navigationController] present...] не привело к тому, что статический вид таблицы правильно загружал его ячейки.