다음 UIResponder
방법은 화면에 원시 터치를보고 : 최근에 내가 반응하는 터치 할 싶었던 UIView
서브 클래스와 함께 연주했다UIView 하위 클래스에서 UIResponder 터치 메소드를 구현해도 MVC가 위반됩니까?
- touchesBegan:withEvent:
- touchesMoved:withEvent:
- touchesEnded:withEvent:
.
처음에는 문제의 뷰를 담당 한 UIViewController
에 위의 메소드를 구현했습니다.
그러나 UIViewControllers 뷰를 터치 할 때마다 터치 메소드가 호출되고 있음을 알았습니다. 원하는 서브 뷰가 아닙니다.
UIView 하위 클래스 내에서 메서드를 다시 구현했으며 모든 것이 예상대로 작동했습니다.
그러나 MVC를 위반하는 것 같습니다. 내 시각에는 통제 논리가 있습니다.
내가 대신의 UIViewController 내부에 구현 된 방법을 유지하고 있어야 어떻게 든 히트 테스트 접촉, 또는 UIView의 서브 클래스 내에서 구현 된 방법을 가지고에서 내가 해결 오전 한보기 해석?
나는 게으른 탈출구 인 것처럼 느낍니다.
감사합니다.
보기에서이를 대체해야합니다. 당신의 견해를 어떻게 재사용 할 수 있습니까? 하나의 뷰 컨트롤러에 'UIButton'에 대한 터치 처리를 구현할 필요가 없으며 터치 이벤트 자체에 응답합니다. – dan
MVC를 위반하지 않습니까? – Woodstock
MVC를 위반하는 메서드 내에서 확실히 할 수 있지만 재정의하면 MVC 자체에 위배되지 않습니다. 'UIView'는 이유로 UIResponder의 하위 클래스입니다. – dan