2013-05-16 2 views
7

Я пытаюсь подключить динамический UITableViewCell к навигационному контроллеру в раскадровке, используя popover segue.
Для этого я ctrl-перетаскивал из ячейки в контроллер навигации, выбрал «popover» как segue, а затем назначил ему идентификатор. Таким образом, опорная точка сегмента становится ячейкой.Скомпилировать ошибку, пытающуюся выполнить popover segue из динамического UITableViewCell

С помощью этой конфигурации я получаю эту ошибку компилятора:

Couldn't compile connection: <IBCocoaTouchOutletConnection:0x40114c920 <IBProxyObject: 0x40114c540> => anchorView => <IBUITableViewCell: 0x4012576c0>> 

То, что я хочу сделать, это просто открыть контроллер, поповер каждый раз при выборе ячейки. Нет ошибки, если я попытаюсь сделать то же самое, но указать другой тип segue (push или modal ...). Я уже пытался создать новый образец проекта с нуля только с необходимыми компонентами, но ошибка сохраняется.

Спасибо за чтение.

enter image description here

enter image description here

+0

Я не думаю, что это возможно. Я тоже столкнулся с этой проблемой, и вам кажется, что вам не разрешено привязывать popover к динамической ячейке. – rdelmar

+0

redlmar is right, проверьте этот поток SO http://stackoverflow.com/q/9236621/2315974 – danypata

+0

Спасибо, что пришли мне в эту тему. То, что я не совсем понимаю, - это то, почему разрешено создавать такой же тип соединения, используя любой другой тип segue (например, модальный или push), но это не разрешено с помощью popover segue ... В чем разница? Извините, если вопрос кажется странным, но я новичок в раскадровке. – ggould75

ответ

0

Глядя на ваш UI, это выглядит, как вы создаете приложение для iPhone, а поповер переход доступен только для IPad. Это может быть причиной.

+0

Является универсальным приложением, и у меня есть 2 разных раскадровки (один предназначен для iPad и один для iPhone). Скриншоты, которые я прилагаю, предназначены для iPad. – ggould75

8

Простым решением является изменение точки привязки popover к чему-то еще «статическому» в вашем представлении. В моем случае - UIBarButtonItem, который является якорем для действия «добавить».

Это делается путем перетаскивания из круга справа от якорного ящика к элементу на раскадровке, который вы хотите использовать в качестве якоря.

enter image description here

+0

Во время выполнения вы можете реализовать 'prepareForSegue ...', чтобы изменить источник popover на ваш реальный желаемый вид. –

+0

Отлично, спасибо! Конечно, было бы неплохо, если бы яблоко показало лучшую ошибку, чем «Ошибка компиляции»;) – lostintranslation

+0

Ницца, все еще работает в Swift 3 –

Смежные вопросы