2012-08-15 4 views
1

내 응용 프로그램이 간단한 애니메이션을 실행하는 동안 사용자가 아무 것도 클릭하지 못하도록하고 싶습니다. 내보기 컨트롤러에서 대부분의 상호 작용을 차단하기 위해UIBarButtonItem과 사용자 상호 작용 사용 안 함

self.view.userInteractionEnabled = NO; 

을 사용할 수 있지만 툴바/탐색 바의 버튼이 이벤트를 발생시키지 않습니다.

시각적으로 눈에 띄지 않는 영향을줍니다 (단추가 회색으로 표시됨).

어떻게하면 모든 컨트롤과의 상호 작용을 일시 중단 할 수 있습니까?

답변

12

UIApplication의 경우 -beginIgnoringInteractionEvents-endIgnoringInteractionEvents을 사용하십시오. 이것은 새로운 뷰 컨트롤러에 푸시를 애니메이트 할 때 UINavigationController과 같은 클래스에서 수행됩니다. 특정 인스턴스 인 UIApplication을 얻으려면 UIApplication 클래스의 +sharedApplication 메서드를 사용하십시오. 이 예제를 고려하십시오.

[[UIApplication sharedApplication] beginIgnoringInteractionEvents]; 
[[UIApplication sharedApplication] endIgnoringInteractionEvents]; 
관련 문제