내 UIView에서 하위보기로 UIScrollview를 추가하고 UIScrollview에 UIButtons를 추가했습니다.
이제 내 문제는 사용자가 버튼을 클릭했는지 여부를 알고 싶지만 UIScrollview의 touchesbegin이 호출되지 않는다는 것입니다. 여기서 scrollview의 다른 모든 대리자 메소드가 완벽하게 작동합니다.
제가 잘못하고 계시다면 알려주십시오.touchesShouldBegin : withEvent : inContentView : UIScrollview에 대해 호출하지 않았습니다.
답변
버튼에 간단한 도청을 처리하려는 경우 - (void) addTarget : (id) target action : (SEL) action forControlEvents : (UIControlEvents) controlEvents 에 UIControl)에 UIButton, 그렇지 않으면 내 방식은 UIScrollView를 하위 클래스에 추가 할 수있는 대리인을 추가하고 그것에 전달하지만, 지저분한 나는 극도로 사용자 정의 동작이 필요하지 않는 한 이것을 사용하지 않을 것입니다
귀하의 질문에 대한 텍스트가 제목과 일치하지 않지만 이 UIScrollView
의 서브 클래스에서 호출되지 않기 때문에 여기에 길을 찾은 사람은 대답이
터치되는 하위 뷰가 터치 이벤트에 응답하는 경우에만 touchesShouldBegin:withEvent:inContentView
메소드가 호출됩니다. 사용자가 UILabel
과 같은 비대화 형 하위 뷰를 건 드리면이 메서드는 일반적으로 호출되지 않습니다. 해당 하위 뷰의 userInteractionEnabled
속성을 YES로 설정하여 특정 하위 뷰를 강제로 호출 할 수 있습니다.
또한 스크롤보기의 delaysContentTouches
속성의 상태를 알고 있어야합니다. YES로 설정된 경우 스크롤보기는 타이머가 만료 될 때까지 touchesShouldBegin:withEvent:inContentView:
을 호출하지 않으므로 터치가 스크롤 제스처가 아닌 것으로 나타납니다. touchesShouldBegin:withEvent:inContentView:
을 즉시 호출하려면 delaysContentTouches
을 NO로 설정하십시오.
- 1. didFinishLaunching을 호출하지 않았습니다.
- 2. touchesMoved : withEvent
- 3. 생성자 또는 onFinishInflate가 사용자 정의보기를 호출하지 않았습니다.
- 4. org.apache.jasper.JspC 클래스에서 public()을 호출하지 않았습니다.
- 5. Delphi - 스레드에서 WndProc()을 호출하지 않았습니다
- 6. unit - "application"에서 "application.processmessages"를 호출하지 않았습니다.
- 7. UIScrollView에 대한 사용자 정의 확대/축소 구현
- 8. UIControlEventTouchUpInside in hitTest : withEvent :
- 9. TForm에 대해 OnShow를 호출하지 않는 이유는 무엇입니까?
- 10. UIScrollView에 그라디언트 추가
- 11. Actionperformed가 JComboBox에 대해 트리거되지 않았습니다.
- 12. continueTrackingWithTouch : withEvent : 연속적으로 호출되지 않음
- 13. UIScrollview에 표시된 이미지를 확인하십시오.
- 14. UIScrollView에 내용 배치
- 15. UIScrollView에 UIImageView 추가하기
- 16. 이벤트를 UIScrollView에 전달하십시오.
- 17. UIScrollView에 UIButton 추가하기
- 18. NIS를 UIScrollView에 추가하십시오.
- 19. UIScrollView에 IBActions 추가
- 20. UIScrollView에 확대/축소 추가
- 21. iPhone OS에서 맞춤 URL 스키마를 사용하여 handleOpenURL을 호출하지 않았습니다.
- 22. GetLocation의 유형에 대해 getSystemService가 정의되지 않았습니다.
- 23. 임 : 'i'에 대해 레지스터 이름이 지정되지 않았습니다.
- 24. authlogic이있는 RoR 사이트에 대해 logout_path가 정의되지 않았습니다.
- 25. ORM - 현재 응용 프로그램에 대해 구성되지 않았습니다.
- 26. PreRequestHandlerExecute 이벤트가 REST 호출에 대해 실행되지 않았습니다.
- 27. nil 클래스에 대해 'status'가 정의되지 않았습니다.
- 28. 문자열에 대해 URL을 쳤지 만 응답하지 않았습니다.
- 29. 일부보기 컨트롤러에 대해 viewDidUnload가 호출되지 않았습니다.
- 30. 완료 핸들러가 NSSavePanel에 대해 호출되지 않았습니다. beginWithCompletionHandler