iOS UIWindow, UIApplication 클래스에 속성 도입

UIWindow: 1. 프로그램 개발 과정에서 UIWindow를 사용하는 곳은 많지 않습니다.앱의 루트 뷰 컨트롤러를 설정할 때만 사용되는 경우가 많습니다.예를 들어 AppDelegate.h에서 사용됩니다.
// 程序一启动就会到这个方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.

    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];

    return YES;
}
창은 프로그램의 창을 설정하는 데 사용되며 iOS에서는 모든 인터페이스가 창에 표시되며 모든 창을 설정해야 합니다. 2. 윈도우의 속성과 메소드 (1) keyWindow//읽기 전용 속성, 윈도우가 메인 윈도우인지 판단하는 데 사용
(2)- (void)makeKeyWindow;//메인 창으로 설정하면 실행 중인 효과 창이 검은색일 수 있습니다. 즉, 창이 보이지 않기 때문에 이 방법을 사용하지 않는 것이 좋습니다.
(3)- (void)makeKeyAndVisible;//메인 창으로 설정하고 보이게 하며, 이 방법을 사용하여 창을 설정하는 것을 권장합니다.
(4) 여러 좌표 변환 방법을 사용하여 좌표계를 변환할 수 있습니다.
- (CGPoint)convertPoint:(CGPoint)point toWindow:(nullable UIWindow *)window; - (CGPoint)convertPoint:(CGPoint)point fromWindow:(nullable UIWindow *)window; - (CGRect)convertRect:(CGRect)rect toWindow:(nullable UIWindow *)window; - (CGRect)convertRect:(CGRect)rect fromWindow:(nullable UIWindow *)window;
5. 창의 알림 유형 창의 조작에서 조작이 필요한 경우 창의 알림을 감지할 수 있습니다.
UIKIT_EXTERN NSString *const UIWindowDidBecomeVisibleNotification; // window已经可见的通知
UIKIT_EXTERN NSString *const UIWindowDidBecomeHiddenNotification;  // window已经消失的通知
UIKIT_EXTERN NSString *const UIWindowDidBecomeKeyNotification;     // window成为主窗口的通知
UIKIT_EXTERN NSString *const UIWindowDidResignKeyNotification;     // 注册主窗口的通知
6. 키보드를 누르면 알림이 몇 가지 있습니다.
UIKeyboardWillShowNotification // 键盘将要显示的通知
UIKeyboardDidShowNotification // 键盘已经显示的通知
UIKeyboardWillHideNotification // 键盘将要消失的通知
UIKeyboardDidHideNotification // 键盘已经消失的通知

UIKeyboardWillChangeFrameNotification // 键盘frame将要改变的通知
UIKeyboardDidChangeFrameNotification // 键盘frame已经改变的通知
7. 키보드의 동작 알림이 감지되면 키보드의 일부 데이터를 얻을 수 있습니다.키보드 데이터와 관련된 키는 다음과 같습니다(키보드 알림이 감지되면 알림은 userInfo 사전 속성을 첨부하여 저장 키보드에 대한 정보) ,
UIKeyboardFrameBeginUserInfoKey // 键盘开始变化的时候的值
UIKeyboardFrameEndUserInfoKey // 键盘结束变化的时候的值
UIKeyboardAnimationDurationUserInfoKey // 键盘变化的时间戳
UIKeyboardAnimationCurveUserInfoKey

/* // 如果检测的是UIKeyboardFrameBeginUserInfoKey或者UIKeyboardFrameEndUserInfoKey通知,会用到下面的key UIKeyboardCenterBeginUserInfoKey UIKeyboardCenterEndUserInfoKey UIKeyboardBoundsUserInfoKey */

UI응용 프로그램:
1. 시스템에 전화를 걸어 전화 걸기, 문자 메시지 보내기, 이메일 보내기,
- (BOOL)canOpenURL:(NSURL *)url // 用于判断是否可以用来打开url
- (BOOL)openURL:(NSURL*)url // 打开url,比如打电话,发短信,发邮件
2. keyWindow//프로그램의 메인 창을 가져오는 데 사용되는 읽기 전용 속성으로, 루트 컨트롤러를 전환할 때 자주 사용됩니다(예: 로그인 인터페이스가 성공적으로 로그인되면 다른 컨트롤러로 전환해야 함).
[UIApplication sharedApplication].keyWindow.rootViewController = [UIViewController new];
3. networkActivityIndicatorVisible//Bool 값, 기본값은 NO, 네트워킹 상태의 새로 고침 프롬프트를 설정하는 데 사용됩니다(즉, 상태 표시줄의 국화, 데이터를 요청할 때 원이 표시될 국화), YES로 설정하면 일반적으로 이 문제에 주의를 기울이지 마십시오. 4. statusBarStyle//UIStatusBarStyle 열거형, 휴대폰 화면 상단의 상태바 스타일인 흰색 또는 검은색,
UIStatusBarStyleDefault // 默认是黑色的, UIStatusBarStyleLightContent // 其实是白色的
5. statusBarOrientation//디바이스의 회전 스타일
UIInterfaceOrientationUnknown            = UIDeviceOrientationUnknown,
    UIInterfaceOrientationPortrait = UIDeviceOrientationPortrait,
    UIInterfaceOrientationPortraitUpsideDown = UIDeviceOrientationPortraitUpsideDown,
    UIInterfaceOrientationLandscapeLeft      = UIDeviceOrientationLandscapeRight,
    UIInterfaceOrientationLandscapeRight     = UIDeviceOrientationLandscapeLeft
6. statusBarFrame//상태 표시줄의 프레임, 상태 표시줄이 숨겨져 있으면 CGRectZero로 돌아갑니다. 7. applicationIconBadgeNumber//바탕 화면 응용 프로그램 아이콘의 오른쪽 상단 모서리에 있는 알림 번호, = 0이면 바로 숨겨집니다. 단, 알림은 8을 설정하기 전에 등록해야 합니다. applicationSupportsShakeToEdit//지원 쉐이크 9, applicationState//프로그램의 상태를 판단,
UIApplicationStateActive, // 活跃状态,前台
UIApplicationStateInactive,  // 非活跃状态
UIApplicationStateBackground // 后台状态
10. - (void)registerForRemoteNotifications//원격 알림 등록- (void)scheduleLocalNotification:(UILocalNotification *)notification//로컬 알림 보내기- - (void)cancelAllLocalNotifications//모든 로컬 알림 취소- scheduledLocalNotifications//모든 로컬 알림 받기- - (void)registerUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings//등록 알림 11,proximitySensingEnabled//센서 활성화 여부, 기본값 NO, YES는 전화기 근처에 있는 물체의 근접성을 감지할 수 있습니다.
12. 위의 데이터는 기본적으로 많이 사용되는 데이터이며, 알림과 키가 하나씩 소개되지 않습니다.

좋은 웹페이지 즐겨찾기