У меня есть ВК, управляющий экраном контента, который имеет 2 режима; нормальный режим и режим редактирования.
Могу ли я создать один виртуальный канал с двумя представлениями, каждое из которых имеет отдельные перья?
Во многих ситуациях на iphone у вас есть VC, который контролирует связанный вид. Затем на
нажатие кнопки или другое событие, загружается новый VC, и его вид становится видом верхнего уровня и т. д.
Но в этой ситуации у меня есть 2 режима, которые я хочу использовать одинаково
ВК для, потому что они тесно связаны. Поэтому я хочу VC, который может поменять местами 2 просмотра.
Как здесь:
Как загрузить UIView с помощью файла пера, созданного с помощью Interface Builder
Я обнаружил, что могу загрузить VC со связанным видом из пера, а затем загрузить
другой вид от другого пера и сделать этот новый вид активным.
NSArray *nibObjects = [[NSBundle mainBundle] loadNibNamed:@"EditMode" owner:self options:nil];
UIView *theEditView = [nibObjects objectAtIndex:0];
self.editView = theEditView;
[self.view addSubview:theEditView];
У вторичного кончика есть выходы, подключенные к VC, как первичный кончик. Когда новый кончик загружен,
розетки все подключены нормально, и все работает хорошо. К сожалению, когда это редактировать
представление тогда удалено, кажется, нет никакого изящного способа соединить выходы
снова в (нормальный режим) вид с исходного пера. Загрузка пера и установка выхода
только одна вещь.
Итак, если вы хотите иметь виртуальный канал, который меняет 2 представления без создания нового виртуального канала, каковы варианты?
1) Вы можете делать все в коде, но я хочу использовать перья, потому что это упрощает создание пользовательского интерфейса.
2) У вас есть 1 кончик для вашего VC, и вы просто скрываете / отображаете элементы, используя свойство hidden UIView и его подклассов.
3) Вы загружаете новый наконечник, как описано выше. Это хорошо для нового пера, но как вы сортируете розетки, когда возвращаетесь к исходному пиру.
4) Откажитесь и примите 1: 1 между VC и NIBS. Существует перо для обычного режима, перо для режима редактирования, и каждый режим имеет VC, который подклассов общего суперкласса.
В итоге я перешел к 4), и он работает, но требует изрядного количества дополнительной работы, потому что у меня есть класс модели, который я создаю в обычном режиме, а затем должен перейти в режим редактирования VC, потому что оба режима нужен доступ к модели. Я также использую NSTimer и должен запускать и останавливать таймер в каждом режиме. Именно из-за всей этой общей функциональности мне нужен был прежде всего один VC с двумя кончиками.