iOS-UIKit框架學習—UIWindow
一個UIWindow物件提供了您的應用程式的使用者介面的背景和提供了重要的事件處理行為。Windows沒有自己的任何視覺外觀,但它們對於應用程式檢視的呈現至關重要。螢幕上顯示的每個檢視都由一個視窗包圍,每個視窗獨立於應用程式中的其他視窗。應用程式接收的事件最初會傳送到相應的視窗物件,然後將這些事件轉發到相應的檢視。Windows與您的檢視控制器一起實現方向更改,並執行許多其他任務,這些任務是您應用程式操作的基礎。
// 相對窗的定位
typedef CGFloat UIWindowLevel;
@class UIEvent, UIScreen, NSUndoManager, UIViewController;
NS_CLASS_AVAILABLE_IOS(2_0) @interface UIWindow : UIView
// 顯示視窗的螢幕
@property(nonatomic,strong) UIScreen *screen NS_AVAILABLE_IOS(3_2);
// 該視窗在Z軸的位置。
@property(nonatomic) UIWindowLevel windowLevel; // default = 0.0
// 該視窗是不是應用的主檢視
@property(nonatomic,readonly,getter=isKeyWindow) BOOL keyWindow;
// 通知已經變為主檢視
- (void)becomeKeyWindow;
// 通知應經不是主檢視
- (void)resignKeyWindow;
// 接收關鍵視窗
- (void)makeKeyWindow;
// 顯示視窗並使其成為關鍵視窗
- (void)makeKeyAndVisible;
// 視窗的跟檢視控制器
@property(nullable, nonatomic,strong) UIViewController *rootViewController NS_AVAILABLE_IOS(4_0); // default is nil
// 傳送指定事件 UIApplication通過此方法來排程事件視窗
- (void)sendEvent:(UIEvent *)event;
// 轉換一個點從接受物件的座標系到指定視窗
- (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;
@end
UIKIT_EXTERN const UIWindowLevel UIWindowLevelNormal;
UIKIT_EXTERN const UIWindowLevel UIWindowLevelAlert;
UIKIT_EXTERN const UIWindowLevel UIWindowLevelStatusBar __TVOS_PROHIBITED;
UIKIT_EXTERN NSNotificationName const UIWindowDidBecomeVisibleNotification;
UIKIT_EXTERN NSNotificationName const UIWindowDidBecomeHiddenNotification;
UIKIT_EXTERN NSNotificationName const UIWindowDidBecomeKeyNotification;
UIKIT_EXTERN NSNotificationName const UIWindowDidResignKeyNotification;
UIKIT_EXTERN NSNotificationName const UIKeyboardWillShowNotification __TVOS_PROHIBITED;
UIKIT_EXTERN NSNotificationName const UIKeyboardDidShowNotification __TVOS_PROHIBITED;
UIKIT_EXTERN NSNotificationName const UIKeyboardWillHideNotification __TVOS_PROHIBITED;
UIKIT_EXTERN NSNotificationName const UIKeyboardDidHideNotification __TVOS_PROHIBITED;
UIKIT_EXTERN NSString *const UIKeyboardFrameBeginUserInfoKey NS_AVAILABLE_IOS(3_2) __TVOS_PROHIBITED; // NSValue of CGRect
UIKIT_EXTERN NSString *const UIKeyboardFrameEndUserInfoKey NS_AVAILABLE_IOS(3_2) __TVOS_PROHIBITED; // NSValue of CGRect
UIKIT_EXTERN NSString *const UIKeyboardAnimationDurationUserInfoKey NS_AVAILABLE_IOS(3_0) __TVOS_PROHIBITED; // NSNumber of double
UIKIT_EXTERN NSString *const UIKeyboardAnimationCurveUserInfoKey NS_AVAILABLE_IOS(3_0) __TVOS_PROHIBITED; // NSNumber of NSUInteger (UIViewAnimationCurve)
UIKIT_EXTERN NSString *const UIKeyboardIsLocalUserInfoKey NS_AVAILABLE_IOS(9_0) __TVOS_PROHIBITED; // NSNumber of BOOL
UIKIT_EXTERN NSNotificationName const UIKeyboardWillChangeFrameNotification NS_AVAILABLE_IOS(5_0) __TVOS_PROHIBITED;
UIKIT_EXTERN NSNotificationName const UIKeyboardDidChangeFrameNotification NS_AVAILABLE_IOS(5_0) __TVOS_PROHIBITED;
UIKIT_EXTERN NSString *const UIKeyboardCenterBeginUserInfoKey NS_DEPRECATED_IOS(2_0, 3_2) __TVOS_PROHIBITED;
UIKIT_EXTERN NSString *const UIKeyboardCenterEndUserInfoKey NS_DEPRECATED_IOS(2_0, 3_2) __TVOS_PROHIBITED;
UIKIT_EXTERN NSString *const UIKeyboardBoundsUserInfoKey NS_DEPRECATED_IOS(2_0, 3_2) __TVOS_PROHIBITED;
相關文章
- iOS-UIKit框架學習—UIButtoniOSUI框架
- UIView && UIWindowUIView
- UIWindow詳解UI
- 駁 《駁 《駁 《駁 《停止學習框架》》》》、《駁 《駁 《停止學習框架》》》、《駁 《停止學習框架》》、《停止學習框架》框架
- 深度學習學習框架深度學習框架
- OS 學習框架框架
- 停止學習框架框架
- Koa框架學習框架
- Httprunner框架學習HTTP框架
- ThinkPhP 框架學習PHP框架
- 前端學習框架前端框架
- Play框架學習框架
- 駁 《停止學習框架》框架
- Java集合框架學習Java框架
- Hugo-框架學習Go框架
- Hibernate框架學習框架
- PySpider框架學習IDE框架
- 日誌框架學習框架
- 框架學習筆記框架筆記
- 深度學習框架Pytorch學習筆記深度學習框架PyTorch筆記
- 深度學習中tensorflow框架的學習深度學習框架
- Okio 框架原始碼學習框架原始碼
- dubbo框架設計學習框架
- Zookeeper學習——基礎框架框架
- node nest 框架學習(一)框架
- 4款深度學習框架深度學習框架
- 駁 《駁 《停止學習框架》》框架
- Dubbo框架學習總結框架
- MYSQL學習(二) --MYSQL框架MySql框架
- Bootstrap框架:學習筆記boot框架筆記
- Mybatis框架 入門學習MyBatis框架
- 學習測試框架Mocha框架
- 【Struts2框架學習】框架
- SSH框架學習步驟框架
- java spring 框架學習JavaSpring框架
- rose框架學習總結ROS框架
- Netty 框架學習 —— 編解碼器框架Netty框架
- 如何學習和利用深度學習演算法框架深度學習演算法框架