Хочу создать классный статический интерфейс, но: «Статические табличные представления действительны только ...» - PullRequest
24 голосов
/ 14 февраля 2012

Итак, я создаю вид как:

enter image description here

Для этого я пытаюсь использовать раскадровку, в которую добавляю 2 TableViews (как «Статические ячейки»), а затем я вручную добавляю содержимое ячейки непосредственно из раскадровки ...

В моей раскадровке это выглядит великолепно, но при сборке я получаю:

en.lproj / MainStoryboard.storyboard: ошибка: недопустимая конфигурация: статические представления таблиц действительны только при внедрении в экземпляры UITableViewController

Если у вас, ребята, есть какие-либо идеи по этому вопросу.

Спасибо!

Ответы [ 4 ]

34 голосов
/ 22 января 2013

Я также столкнулся с проблемой при изменении существующего пользовательского контроллера представления, делая его расширяющим UITableViewController. XCode не достаточно умен и не осознает, что он уже соответствует его требованиям.

Вы можете решить эту проблему, отредактировав исходный код раскадровки и изменив <viewController ... на <tableViewController....

Оригинальный источник: https://plus.google.com/108665969482300807329/posts/J4mCASMA3pZ

22 голосов
/ 14 февраля 2012

Добавьте UITableViewController к вашему представлению. Он должен содержать UITableView. Определите это как статическое табличное представление и сделайте его сгруппированным. Добавьте два раздела. Один с одним рядом, а другой с двумя рядами. Снова добавьте кнопки и ползунки надписей в строки.

Не знаю, зачем вам здесь два UITableView?

4 голосов
/ 11 июня 2015

Единственный способ заставить это работать в Xcode 6, и способ, которым Apple предназначала это для работы, - это встроить TableViewController в представление контейнера, если необходимо. Кажется, что вы не можете взломать свой путь, как описано juanignaciosl в Xcode 6.

Таким образом, шаги будут следующими:

  1. Создание контроллера табличного представления
  2. замените представление таблицы в этом контроллере на таблицу из вашего "проблемного" контроллера представления со всеми его статическими ячейками и т. Д.

Если ваше табличное представление является частью более сложного пользовательского интерфейса и не является основным видом вашего контроллера представления, продолжайте, как показано ниже

  1. создайте контейнерное представление в вашем «проблемном» контроллере представления, в той же позиции, что и ваше теперь перемещенное статическое табличное представление. Это также создаст автоматически другой viewcontroller и последовательность - удалите их.
  2. перетаскивание левой кнопкой мыши или перетаскивание по Ctrl из представления контейнера в контроллер представления таблицы, в котором находится ваша статическая таблица, и выберите встраивание

Это не так хорошо, как раньше, потому что ваше табличное представление удалено в отдельном контроллере представления в построителе интерфейса, и это может повлиять на ваш существующий код и выходы. Но для больших статических таблиц это лучшая альтернатива динамической генерации всего контента.

2 голосов
/ 23 февраля 2013

Вы можете сделать его динамическим, а затем переключить прокрутку:

[yourTableName setScrollEnabled:NO];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...