iphone, ipad Duplicate UIView - клонированный вид - PullRequest
3 голосов
/ 25 января 2011

Как дублировать UIView.Требование состоит в том, что в представлении должно быть два вида, например, вид А и вид Б. Изменение одного вида также должно изменить другой вид.

Например, рассмотрим добавлен ли мне mpmediaplayer в представлении A означает, что представление B должно показывать то же видео, что и в представлении A, и если я перемещаю что-либо в представлении A, то есть то есть пересылка видео, регулировка громкости и т. Д.должен показывать то же самое.

Ответы [ 3 ]

2 голосов
/ 09 апреля 2015

Нет простого способа клонировать представление, а затем обновить два представления одной строкой кода.Потому что их лежащие в основе CALayers разные.Но для дублирования UIView вот новый метод, который вы можете использовать: Используйте метод UIView:

- (UIView *)snapshotViewAfterScreenUpdates:(BOOL)afterUpdates

Это самый быстрый способ нарисовать представление.Доступно в iOS 7.

1 голос
/ 25 января 2011

UIViews не легко дублируются, кроме как вручную - т.е. создание представления вручную в loadView и создание двух экземпляров.Связь с поведением будет зависеть от вас.Некоторые могут предложить сериализовать UIView и затем десериализовать копию, но маловероятно, что в подпредставлениях будет реализован NSCoder (медиапроигрыватель и UIImages, конечно же, нет), что обычно делает это не стартером.

0 голосов
/ 25 января 2011

Это на самом деле очень легко сделать.Каждый вид должен контролироваться одним контроллером.Затем, когда действия будут выполнены в одном представлении, контроллер просто обновит модель данных, а другое представление будет обновлено автоматически.Это на самом деле сила дизайна модели представления модели.Теперь следует понимать, что это означает, что оба представления на самом деле будут обмениваться данными.Их локальные состояния будут отдельными, но эти состояния будут синхронизироваться с моделью данных контроллером.Модель данных будет унифицирована, и поэтому представления должны оставаться синхронизированными.

Подробнее о MVC (управление просмотром модели) см. В этой статье http://developer.apple.com/library/ios/#documentation/General/Conceptual/DevPedia-CocoaCore/MVC.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...