Следующие UIResponder
методы сообщают сырые штрихи на экране:Выполняет ли приведение методов UIResponder в подкласс UIView нарушать MVC?
- touchesBegan:withEvent:
- touchesMoved:withEvent:
- touchesEnded:withEvent:
Недавно я играл с UIView
подклассу, что я хотел быть сенсорным отзывчивым.
Первоначально я реализовал методы выше в UIViewController
, которые отвечали за рассматриваемое представление.
Однако я понял, что методы касания вызывались всякий раз, когда рассматривалось представление UIViewControllers, а не подзаголовок, который я хотел.
Я переопределял методы внутри подкласса UIView, и все работало должным образом.
Однако я чувствую, что это нарушает MVC. У меня есть логика управления внутри моего представления.
Должен ли я держать методы, реализованные внутри UIViewController вместо этого, и как-то хита теста интерпретировать, какое представление было потрогать, или я исправить в том, методах, реализуемые внутри UIView подкласса?
Я чувствую, что более поздний - это ленивый выход.
Спасибо за ваше время.
Вы должны переопределить его в представлении. Как еще ваше мнение может быть повторно использовано? Вам не нужно реализовывать сенсорную обработку для 'UIButton' в каждом контроллере представления, который имеет один, он реагирует на сами события касания. – dan
Не нарушает ли это MVC? – Woodstock
Вы можете определенно сделать что-то внутри методов, которые нарушают MVC, но переопределение их не нарушает MVC сам по себе. 'UIView' является подклассом' UIResponder' по какой-то причине. – dan