2012-02-18 2 views
1

여러 이벤트에 대한 작업 메서드에 UITextField를 연결했습니다. 특정 이벤트가 무엇인지 확인하려면 보낸 사람 : 이벤트 : 메서드 유형을 사용했습니다. 그러나 이제 방법을 실행 한 실제 이벤트가 무엇인지 판단하는 방법에 관해서는 손해보고 있습니다. 그 비밀이 뭐야?IBAction 메서드에서 이벤트를 얻는 방법

답변

0

"이벤트"는 동작 방법에 전달되는 것이지만 실제 질문은 UIControlEvents 중 어떤 것이 동작을 일으켰는지를 가정합니다. UIEventUIControlEvents은 관련이 없습니다. 타겟/액션 패턴은 UIEvent을 제공합니다. 다른 UIControlEvents을 다르게 처리하려면 해당 처리 방법을 다르게 구현해야합니다.

대상/동작 메커니즘은 UIResponder에서 비롯됩니다. UIControlEventsUIControl과 관련 있습니다.

+0

감사합니다. Rob 및 @sch 님, 이제 모두 분명합니다 (어)! – nigelhs

+0

실제로'(IBAction) 콜백 : (id) 보낸 사람'메소드 내에서 UIEvent (다른 목적으로)를 찾으려고 여기에 왔습니다. 그것은 얻을 수 있습니까? – Olie

+0

메소드 이름을 '- (IBAction) action : (id) sEvent forEvent : (UIEvent *) event'로 바꿔야합니다. 그런 다음 이벤트가 전달됩니다. docs에 대해서는'[UIApplication sendAction : to : from : forEvent]'를 보라. –

관련 문제