2015-10-17 2 views
1

(См. Эскиз)UIPickerView modal с уже видимой панелью инструментов

Как бы реализовать это поведение с уже видимой панелью инструментов? Кроме того, небольшая информация, которую я обнаружил при открытии модема UIPicker, основана на использовании UITextField, для которого я не стремлюсь.

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

В идеале, я бы хотел, чтобы эта панель инструментов с функцией выбора была доступна для нескольких видов.

Sketch

ответ

1

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

Одна настройки ограничений будет:

  • добавить ограничение, что штифты в верхней части палитры к нижней части представления
  • добавить еще одно ограничения пиннинга в нижней части палитры к нижней части представления

-> Если вы включите 1 и отключить 2, сборщик скрыт
-> Если вы включите 2 и отключить 1, ловильный видна

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

+0

Отличная идея, однако как я могу использовать это без необходимости определять одни и те же элементы пользовательского интерфейса для нескольких просмотров в моей раскадровке? Как я уже упоминал, в идеале мне нужна эта функциональность, чтобы быть avaibale в нескольких (2 на данный момент) представлениях. – Marv

+1

@Marv Хммм, что вы можете сделать, это извлечь всю панель инструментов или только сборщик в другое представление + контроллер, который затем связывается через делегирование с родителем, но сам несет ответственность за анимацию и ограничения. Затем вы можете включить этот контроллер view + через «контейнерный вид» ('UIContainerView') везде, где он вам нужен. – luk2302

+0

Большое спасибо. Работает отлично. Есть ли ориентир для длины анимации или вы случайно знаете продолжительность анимации модального слайдера по умолчанию при нажатии текстового поля? – Marv

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