2014-12-29 2 views
0

Я просто пытаюсь отобразить ViewController как Popover, это небольшая часть большого iPad-приложения, и я пытаюсь отобразить контент без каких-либо успехов.Popover, не показывающий контент

Testing with this simple scenario

The result is empty

Самое худшее в том, что если я создаю один и тот же сценарий в пустой/новый проект, это работает! Два View Controllers, показанные в Image1, совершенно новые, я создал их после того, как попытался добавить простое действие Popover в одном из моих представлений, которые я использую в приложении ... который не работал. Я пробовал с Clean и Build Project более одного раза ... на всякий случай, но тот же результат. Он просто не работает в этом конкретном проекте.

У двух контроллеров представления еще нет связанных классов, я просто пытаюсь открыть View2, когда я нажимаю кнопку.

Я ценю ваши комментарии, если мне не хватает чего-то действительно базового в этом сценарии.

(Добавление большего количества деталей)

Я попробовал другую вещь с ограничениями, как вы можете видеть в последних двух изображений, теперь я могу видеть «что-то», но это не уважая позиции.

Testing with Different Restrictions Result in the simulator

+0

Может быть, проблема только дисплей? Размер вашего ViewController - это фиксированный (iPad Landscape) размер - так что контент, который вы хотите показать, находится вне вашего Popover? – derdida

+0

Эй, @derdida, спасибо за ваш ответ. Я попытался изменить контроллер просмотра (второй) на 200x300 как в инспекторе атрибутов (размер содержимого), так и в инспекторе размеров (имитированный размер в Freeform и тот же размер), однако я пока ничего не вижу. Ярлык и текстовое поле сосредоточены с ограничениями (Center Y и Center X Alignment). Есть идеи? Благодаря! –

ответ

0

Есть некоторые проблемы в ваших ограничений.

  • Этикетка должна иметь 3 ограничения: левый (опережающий), справа от-текстового поля (Trailing) и верхней (верхнее пространство):

Constraints of the label

Ширина и высота не нужны, потому что они автоматически устанавливаются из внутреннего содержимого текста ярлыка («Метка»). ВАЖНО: Когда вы добавляете ограничения, убедитесь, что они абсолютные, а не связанные с маркой (чтобы понять разницу, прочитайте это сообщение в блоге iOS8 Layout Margins).

  • текстовое поле должно иметь следующие ограничения: ширина и расстояние-с-сверху (Top Space):

enter image description here

Обратите внимание, что второй ("Leading пространство") является то же самое «Трейлинг Пространство» метки, а не дополнительное (ограничение составляет всего 5).

Вы должны явно задать ширину текстового поля (134 в моем примере), потому что в противном случае будет установлен внутренний размер содержимого (и он близок к 0, потому что текстовое поле изначально пустое). Высота устанавливается правильно из собственного размера (рассчитывается с высоты шрифта, также если текст пуст).

ПРИМЕЧАНИЕ:

Мой ответ подразумевает некоторые важные понятия Autolayout. Я советую вам изучить Apple documentation, чтобы лучше понять их.

Надеется, что это помогает

3

Вы используете классы размеров регулярной ширины & регулярной высоту (wRegular hRegular).

Создайте свой контроллер для просмотра в любом виде, и все должно быть в порядке.

(Вы также можете удалить классы размера любого объекта в этой точке зрения контроллера)

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