как изменить изображение, отображаемое для кнопки, когда кнопка находится в другом представлении.Как изменить изображение на кнопку в другом виде
ответ
NSNotificationCenter
- хороший механизм для связи между представлениями без введения зависимостей. KVO тоже может работать хорошо, в зависимости от того, что вы делаете.
Не уверен, что я полностью понимаю этот вопрос, но вы передаете информацию между контроллерами представления и их представлением, сохраняя эту информацию в модели данных.
Допустим, у вас есть два вида A и B. Каждый вид будет иметь контроллер вида Ac и Bc. Предположим, вы хотите установить изображение кнопки в B на основе некоторой настройки, которую пользователь вводит в A. Например, в зависимости от того, выбирает ли пользователь самец женского пола на виду A, задняя поверхность кнопки в виде B будет синий или розовый. (... и нет, я не мог придумать лучшего примера, подать в суд на меня.)
Эта информация подпадает под сферу действия модели данных, поскольку настоящая причина, по которой кнопка в B изменит ее фон, связана с некоторыми данные, созданные по выбору пользователя. Модель данных должна находиться в отдельном объекте с любого контроллера вида. Это может быть что угодно: от простого массива до полномасштабного графика данных ядра. Он должен быть спроектирован таким образом, чтобы он ничего не знал о каком-либо интерфейсе.
Объект модели данных должен быть припаркован в некотором месте, к которому контроллеры могут получить к нему доступ. Быстрый и грязный способ заключается в парковке объекта модели данных в делегате приложения. Лучший способ - создать для него синглтон.
Ключевым понятием является то, что вид A и вид B не должны знать о существовании другого. Их соответствующие контроллеры обзора, Ac и Bc, также не должны знать друг о друге. Каждый контроллер просмотра просто записывает/считывает данные в модель данных самостоятельно.
Предположим, ваше приложение собирает данные о человеке, таком как возраст, пол, высота, вес и т. Д., А затем, основываясь на данных, предлагает некоторые варианты пользователю. Предположим, что вид A собирает данные, и на дисплее отображается B. Поток будет идти, как это:
- Пользователь вносит изменения в элементы управления в интерфейсе зрения А.
- Контроллер Ac считывает эти изменения, такие как пол пользователя, от его вида A.
- Контроллер Ac вызывает модель данных и записывает информацию из A в нее.
- Контроллер Ac закрывает свое представление и передает управление другому контроллеру.
- Любое количество вещей может случиться. Включение приложения для выхода и запуска (если модель данных сохраняется в постоянном хранилище.)
- В какой-то момент требуется B. Контроллер Bc, обращается к модели данных и считывает данные с нее. Затем он заполняет/устанавливает пользовательский интерфейс в Bc для соответствия этим данным. В зависимости от пола пользователя, хранящегося в модели данных, он устанавливает изображение кнопки в синий или розовый.
Информационный поток A -> Ac - dataModel -> Bc -> B.
Так вся информация передается между элементами интерфейса в шаблоне проектирования Model-View-Controller, который использует iPhone. Основная идея заключается в том, что контроллеры должны знать только о dataModel и ничего больше. Каждое изменение состояния приложения отражает изменение модели данных.
(Dang, я должен бросить пить так много кофе, прежде чем писать ответы.)
- 1. Отключить кнопку в другом виде
- 2. Как изменить кнопку на изображение при нажатии?
- 3. Как изменить изображение на кнопку пользовательского уведомления?
- 4. Изменение изображения в другом виде
- 5. Как изменить кнопку выбора DropBox на изображение?
- 6. Показать изображение в другом виде в NetLogo
- 7. Отправлено изображение в другое изображение (в другом виде)
- 8. Как изменить изображение ячейки в удобном виде?
- 9. Как изменить изображение в виде списка?
- 10. Как изменить изображение UIImageView в другом контроллере?
- 11. Как изменить изображение в ImageView, нажав кнопку?
- 12. Как изменить изображение JLabel в другом потоке
- 13. Изменить изображение в UIImageView в другом классе
- 14. Как изменить изображение, нажав кнопку в jQuery
- 15. как скрыть кнопку в другом виде контроллер в объективе c
- 16. Изменить фоновое изображение MainActivity на другом фоне
- 17. Сделать изображение как кнопку
- 18. как изменить изображение на кране в виде таблицы для Iphone
- 19. UILabel linebreak на другом виде
- 20. Как изменить изображение на кнопку изображения onmouseover в HTML?
- 21. Позвольте взглянуть на UIImage в другом виде
- 22. Как изменить UIImageView с помощью кнопки в другом виде
- 23. Изменить изображение кнопки изображения в виде списка
- 24. Как сделать кнопку в другом виде, отправить действие чему-то, находящемуся в другом представлении?
- 25. Изображение на кнопку отправки
- 26. Размещение подвью на другом виде
- 27. Как разместить изображение на другом
- 28. Как изменить изображение UIButton после нажатия на кнопку Swift?
- 29. Изменить изображение Посмотреть изображение в другом фрагменте. Android
- 30. Как изменить кнопку отправки на кнопку обновления
нужно больше подробностей/код примера. –
Я попытался отредактировать это, но я не уверен, что понимаю этот вопрос. Вы спрашиваете, как изменить изображение для кнопки в представлении, которое в настоящее время не отображается? Или вы хотите изменить изображение на основе какого-либо действия или события в другом представлении? – TechZen