2016-03-21 2 views
-1

Есть ли общий шаблон для переключения между небольшими областями в приложениях iOS? Например, я делаю какое-то приложение для редактирования изображений, и у меня есть панель инструментов, например, panel view in interface builder.Переключение iOS между подзонами общий шаблон

Я хочу, чтобы разные виды с ползунками и значками изменялись в правом верхнем углу этого вида, когда нажаты соответствующие кнопки на нижней панели. Какой подход лучше в этой ситуации? У каждого подъяруса есть xib и загружать их каждый раз, когда кнопка нажата?

Создание подзапросов в Interface Builder и скрытие всех, кроме одного, когда кнопка нажата? Может быть, есть какой-то удобный подход для этого? И я использую Auto Layout; как я должен обрабатывать ограничения, чтобы сосредоточить контент и заполнить его область?

ответ

0

Моего предпочтительный подход заключается в следующем:

1) Создайте вид контейнера на вашем взгляде контроллере

2) Создание независимых контроллеров отображения для каждого подвида (это имеет смысл, если ваши подвиды являются интерактивными и есть некоторые элементы управления и их собственной логикой). Мне нравится создавать их в своем раскадровке, давать им нестандартный размер, чтобы помочь вам создать их в Interface Builder, а затем загрузить их в код с помощью [storyboard instantiateViewControllerWithIdentifier:].

3) Добавьте контроллеры вида ребенка, гарантируя, что видимый один находится на вершине (делать что-то вроде [self.containerView bringSubviewToFront:childVC1.view].

4) При переходе между дочерней VCs, принесите вид текущую наперед ,

5). Для связи между родительским и дочерним VC вы можете использовать делегаты для предотвращения цикла сохранения.

+0

Спасибо, это интересно. Можете ли вы ответить на некоторые небольшие вопросы? Может быть, лучше тогда сделать то же самое с этой панелью инструментов? Я сделал это в отдельном xib и загрузил его после нажатия кнопки на главный контроллер. И для каждого загруженного «маленького» поднабора с контроллером я должен сделать ограничения компоновки в коде? –

+0

Я не думаю, что мне приходилось устанавливать какие-либо ограничения в коде в подобных ситуациях (что повезло, потому что это боль). До тех пор, пока вы выставляете своих детей VCs в IB, а также правильно устанавливаете кадр детского взгляда VC, вы должны быть хорошими. – Macondo2Seattle

+0

Я не уверен, что вы подразумеваете под «делать то же самое с этой панелью инструментов». Вы имеете в виду иметь копию всех кнопок в каждом дочернем VC? – Macondo2Seattle

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