#ios #swift #cocoa-touch #uiscrollview #uisegmentedcontrol
#iOS #swift #cocoa-touch #uiscrollview #uisegmentedcontrol
Вопрос:
То, чего я пытаюсь достичь, — это, по сути, экран типа Instagram profile.
Я пытаюсь воссоздать раздел сегментированного управления и то, что находится под ним.
Я подумал о том, чтобы поместить представление контейнера, содержащее сегментированный элемент управления и вид прокрутки, который переключается между 3-4 представлениями.
Я видел много способов реализации этого, с видом прокрутки или без него (тот, который я на самом деле не фанат, — это метод .ishidden).
Моя главная проблема — память. Я не знаю, лучше ли хранить их в памяти или загружать с нуля, а также как это сделать. Можете ли вы указать мне правильное направление?
Ответ №1:
Приложение Instagram не выполняет в точности то, что вы описали — похоже, что только первые два параметра в сегментированном элементе управления меняют вид под ним. Последние два позволяют перейти к другому представлению
Вы определенно хотите загрузить свои представления, назначить их strong
свойствам, а затем поменять их местами.
Добавьте пользовательский вид в Interface Builder, который будет вашим контейнером, а затем подключите его к IBOutlet
в вашем контроллере. Вы можете создавать свои виды прокрутки при создании экземпляра контроллера, а затем вы можете добавить вид прокрутки в качестве подвида в контейнер. Затем, когда нажат сегментированный элемент управления, вы можете удалить этот вложенный вид и заменить его новым выбранным вложенным видом.
Instagram, возможно, будет иметь одни из самых больших просмотров с точки зрения распределения памяти, которые можно поменять местами (несколько изображений). Тем не менее, вы можете сказать, что просмотры прокрутки хранятся в памяти, потому что вы можете переключаться между ними без перезагрузки изображений