2010-03-11 3 views
1

현재 개발중인 iPhone 응용 프로그램에서 UIAlertView 및 UIActionSheet의 동작을 모방 한 여러 "경고"보기를 제공합니다. 이러한보기에는 UIAlertView 또는 UIActionSheet에서 사용할 수없는 비표준 요소가 필요합니다. 하위 클래스로 만들지 않고 자신 만의 클래스를 만들어 알림의 모양과 느낌을 쉽게 사용자 지정할 수 있습니다.UIAlertView 또는 UIActionSheet를 모방하기 위해 반투명 오버레이를 만드시겠습니까?

내가 가지고있는 한 가지 문제점은 경고보기가 표시 될 때 iPhone 화면이 약화되는 문제입니다. UIAlertView 및 UIActionSheet와 같은 방법으로 내 사용자 지정보기를 표시 할 때 전체 화면 (상태 표시 줄 포함)을 페이드 아웃하고 싶습니다. 전체 화면에 반투명보기를 겹쳐서이 작업을 수행하려고하지만보기를 keyWindow 또는 최상위보기의 하위보기로 추가하는지 여부에 관계없이 상태 표시 줄은 음영 처리되지 않습니다.

누구든지이 작업을 수행하는 방법에 대한 제안이 있습니까? 이것은 단순해야 할 일처럼 보입니다. 그래서 나는 아마도 뭔가를 간과 할 것입니다.

답변

3

상태 표시 줄 위에 아무 것도 오버레이하지 않으려면 UIWindow 인스턴스를 만들고 windowLevelUIWindowLevelStatusBar으로 설정해야한다고 말하고 싶습니다. 또는 뷰 계층 구조에서 상태 표시 줄 창을 찾아 semi-opaque 서브 뷰를 추가하십시오.

+0

상태 표시 줄 창은'[[UIApplication sharedApplication] 창]에 존재하지 않을 것입니다. - 오직 응용 프로그램이 소유하고있는'UIWindow'의 목록 만 가지고 있습니다. (그 외에, 당신의 대답은 자리에 있습니다) – rpetrich

+0

고마워요! 나는 windowLevel 속성을 완전히 간과했다. 안타깝게도 필자는 문서에서 특히 애플이 여러 창을 생성하는 것을 강력하게 권장하지 않는다는 것을 발견했다. 이 작업으로 나중에 나를 물지 않을 것이고 App Store에서 거부하게 될지 궁금합니다. – glorifiedHacker