【iOS 학습】----UIWindow

1794 단어
1. UIWindow: UIView: UIresponder: NSObject
위에서 볼 수 있듯이 window는 특수한 uiview이다.
이 문서에는 Unless an app can display content on an external device screen, an app has only one window가 있습니다.프로그램마다 윈도우가 하나밖에 없다는 뜻이다. 외부 장치의 내용을 보여야 할 때 윈도우를 만들 수 있다. (이 말의 뜻을 잘 이해하지 못한다. 아직 두 개의 윈도우를 만들어 본 적이 없기 때문에 아는 것이 있으면 댓글로 설명해 주시면 감사하겠습니다.)그러나 이 말은 프로그램의 윈도우 수가 유일하지 않을 수도 있다는 것을 알려준다.
        
둘째, 일반적으로 우리는 두 가지 방법으로 뷰를 UIWindow에 추가할 수 있다.
  1、addSubview
뷰를ddSubview 방식으로 window에 직접 추가합니다. 프로그램은view의 생명주기와 리셋을 유지하지만 뷰에 대응하는 ViewController를 무시하기 위해 뷰를 window에 추가한 후에 뷰에 대응하는 ViewController의 유효성을 유지해야 합니다. 너무 일찍 풀면 안 됩니다.
  2、rootViewController
루트ViewController를 사용할 때 UIWindow의 반복 방법
3. 윈도 레벨
UIWindow가 표시될 때 UIWindow Level에 따라 정렬됩니다. 즉, Level이 높은 것은 모든 Level이 그보다 낮은 등급의 앞에 배열됩니다.다음은 UIWindow Level의 정의를 살펴보겠습니다.
const UIWindowLevel UIWindowLevelNormal;
const UIWindowLevel UIWindowLevelAlert;
const UIWindowLevel UIWindowLevelStatusBar;
    typedef CGFloat UIWindowLevel;

IOS 시스템에서 세 개의 윈도 등급을 정의했는데 그 중에서 각 등급은 여러 개의 하위 등급으로 나눌 수 있다(UI 윈도 헤더 파일에서 구성원 변수인 CGFloat window Sublevel;).그러나 시스템은 이 속성을 열지 않았다.UIWindow의 기본 수준은 UIWindow LevelNormal입니다. 이 세 개의 level을 출력하는 값은 다음과 같습니다.
2012-03-27 22:46:08.752 UIViewSample[395:f803] Normal window level: 0.000000
2012-03-27 22:46:08.754 UIViewSample[395:f803] Alert window level: 2000.000000
2012-03-27 22:46:08.755 UIViewSample[395:f803] Status window level: 1000.000000

이렇게 하면 그들의 등급의 높낮이 순서가 작은 것부터 큰 것까지 Normal Level 등급이 같으면 먼저 MakeKeyAndVisible 방법을 호출합니다.
키윈도
키 윈도는 최근makeKeyAndVisible을 호출한 윈도입니다.
참조:http://www.cnblogs.com/smileEvday/archive/2012/03/27/2420362.html

좋은 웹페이지 즐겨찾기