Я пытаюсь создать общий многоразовый вид, похожий на блокнот с подкладкой. Я решил подойти к этой проблеме (после нескольких итераций проектирования) - создать собственное представление, состоящее из UITextView
и UIView
.
Когда пользователь прокручивает строки текста, я хочу, чтобы UIView отслеживал направление прокрутки. Ключ здесь: В моем собственном представлении мне нужно изменить положение одного подпредставления в ответ на события в другом подпредставлении. Что-то нужно координировать эти изменения ...
Теперь, один из подходов, который я подумал, заключался в использовании шаблона проектирования MVC. Контроллер представления может обрабатывать все события и соответственно перемещать подпредставления. Этот MVC затем может быть встроен в другие MVC.
Обычно при использовании шаблона проектирования MVC контроллер обрабатывает пользовательские события и манипулирует моделью и представлением. Однако у моего пользовательского представления нет модели - все, что я пытаюсь сделать, это заставить представление управлять своими собственными подпредставлениями, когда пользователь выполняет что-то вроде прокрутки. Мне кажется, что шаблон проектирования MVC здесь не подходит по двум причинам:
- Не существует модели или логики, специфичной для программы, в которой она используется.
- Мне кажется, что представление должно отвечать за обработку пользовательских событий, которые изменяют способ отображения.
... но я могу ошибаться, поэтому и прошу помощи. Вопрос для тех, кто более опытен, чем я, и кто, возможно, делал это много раз раньше:
Какой тип шаблона проектирования подходит в этой ситуации? MVC или ...