Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
#1

Два views для обработки поворота - Программирование iOS

09.08.2013, 21:16. Просмотров 741. Ответов 6
Метки нет (Все метки)

Добрый день!

Решил потренировать вариант обработки поворота устройства, путем создания двух Views - для каждой из ориентаций.
Допустим, у меня на экране есть кнопка и текстовое поле, в которое выводится некий хеллоуворлд при нажатии на кнопку.
При создании второго landscape View, и размещении на нем компонентов, соответственно, они не будут иметь никакой связи с кнопкой и текстовым полем из View портретной ориентации.
Привязать одно событие клика для обеих кнопок из двух View проблем не вызвало. А, вот, теперь возникает вопрос:
Задать один reference для двух объектов, понятное дело, нельзя. Так что, получается, при нажатии на кнопку мне надо проверять - какая сейчас ориентация экрана, и обращаться, соответственно,к текстовому полю из View портретной, или ландшафтной ориентации?
Что-то подсказывает мне, что есть более красивое решение. Можете мне что-то посоветовать?

Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.08.2013, 21:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Два views для обработки поворота (Программирование iOS):

AdBannerView на все Views - Программирование iOS
Хочу вставить баннер на большинство views. В основном используются TableView. Решил для баннера использовать TableHeader у TableView. Apple...

Фильтры для обработки фотографий - Программирование iOS
Народ подскажите как сделать фильтры для обработки фотографий под типа инстагрмма в приложении? может есть какой фрейворк или еще что ...

После поворота TextView занимает столько же места как и до поворота - Программирование Android
собственно как поворачивать средствами xml или в коде я знаю. Проблема в другом при повороте textview по горизонтали он занимает место как...

Есть ли дизайнер для Views в Razor MVC 4? - C# MVC
Собственно в єтом и вопрос: можно ли открыть представление в режиме дизайнера, если использовать движок Razor в MVC 4?

Как рассчитать поворот угла, зная координаты трех точек до поворота и после поворота угла - Геометрия
Как рассчитать поворот угла (в градусах), зная только координаты трех точек до поворота и после поворота данного угла? Заранее спасибо.

Два вида кнопой обработки форм - HTML, CSS
Доброго времени,друзья у меня к вам след вопрос)Сначала я реализовал кнопку следующим образом,она работала т е отправляла данные,но дизайн...

6
Vorona
Peace 2 all shining faces
669 / 531 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
09.08.2013, 21:28 #2
воспользуйтесь MVP паттерном
мы так делаем для разных вьюшек на айпаде и айфоне, сохраняя общую логику

Presenter хранит в себе бизнесс-логику
View - это протокол, который описывает общий интерфейс для вьюшек, так же туда будет входить, воможно, xib и ViewController, который строит вьюшку программно и вызывает presenter в нужных местах
ну и Model - она и в Африке модель

Presenter тоже неплохо бы организовать с помошью протокола, а конкретный презентер пусть его имплементирует

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

p.s. конечно можете попробовать посмотреть ReactiveCocoa и MVVM, но лучше остановитесь на более простом (первом) варианте
1
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
09.08.2013, 22:18  [ТС] #3
Спасибо, наконец-то у меня есть повод нырнуть в эту тему.
Все хотел заняться паттернами, и, вот, есть причина))
0
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
09.08.2013, 23:28 #4
Vorona, а какая разница между MVC и MVP? Или это синонимы?
0
Vorona
Peace 2 all shining faces
669 / 531 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
10.08.2013, 02:05 #5
ну насколько я понимаю, в MVP у вьюхи есть интерфейс, через который она делегирует действия презентеру
например кликнули на кнопку "Save", вьюха отреагировала и вызывала у презентера метод например "onSave", тот что-то там сделал и сказал вьюхе что нужно показать
такой подход позволяет мокать вьюху в юнит-тестах, что делает тестирование проще, и вообще просто заменять вьюхи, сохраняя одну и ту же логику

а вот в iOS понятие MVC немного странное, у нас есть ViewController, который делает все, и интерфейс строит напрямую и с моделью общается и выполняет какую-то бизнес-логику, хотя в идеале он просто должен получать от вьюхи сообщения, что-то делать и возвращать ей результат

еще в MVP презентер получает сообщения от вьюхи и только тогда вызывается, если вьюха ничего не пошлет ему, он так и не будет вызван, а в MVC контроллер сам решает какая вьюха будет показана

на самом деле я и сам немного плаваю в этих отличиях, но знаю что в iOS MVC не тот, который в идеале бывает, потому его стоит заменить на MVP для сохранения логики и вынесения вьюхи в отдельное место
1
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
10.08.2013, 12:01 #6
В общем, как я и предполагал, это все-таки синонимы. Просто Apple не особо строго следует своим же принципам. Недавно упоминавшийся UITableViewController - отличная иллюстрация этого.
0
Vorona
Peace 2 all shining faces
669 / 531 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
11.08.2013, 00:18 #7
нуу они не совсем синонимы хотя очень и очень похожи, а Apple – да, хотя в Андроид такая же ситуация, тут скорее среда мобильной разработки больше имеет значение, даже на WindowsPhone, если не ошибаюсь, используется MVVM, по крайней мере так было в WPF.NET, откуда многое перенялось в ВП7
0
11.08.2013, 00:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.08.2013, 00:18
Привет! Вот еще темы с ответами:

Программа для пакетного поворота видеофайлов? - Видеопрограммы
Есть несколько видеофайлов, снятых на айфон с поворотом на 90 градусов. Есть ли программы для пакетного поворота видеофайлов? Есть...

Найти работу, необходимую для поворота рамки на 180* - Электричество и магнетизм
Помогите пожалуйста решить

Подскажите ActiveX для поворота текста на определенный угол. - Visual C++
по часовой или против часовой стрелки. хочу приктутить данную возможность в проге на visual foxe. Спасиба

Как определить момент на валу двигателя, требуемый для поворота всей конструкции - Механика
Знатоки теоретической механики, сможете помочь радиолюбителю? Простая задача по повороту небольшой антенны. Как мне представляется,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru