美文网首页iOS UIKit框架学习
iOS-UIKit框架学习—UIWindow

iOS-UIKit框架学习—UIWindow

作者: Wynter_Wang | 来源:发表于2017-01-20 11:32 被阅读56次

一个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框架学习—UIWindow

    一个UIWindow对象提供了您的应用程序的用户界面的背景和提供了重要的事件处理行为。Windows没有自己的任何...

  • iOS-UIKit框架学习—UIDatePicker

    UIDatePicker类实现了一个对象,它使用多个旋转的车轮,以允许用户选择日期和时间。iPhone的例子是一个...

  • iOS-UIKit框架学习—UITextView

    UITextView的类实现一个滚动的,多行文本区域的行为。类支持使用自定义字体,颜色,和对齐的文本的显示,同时还...

  • iOS-UIKit框架学习—UIScrollView

    UIScrollView的类提供支持显示的内容是大于应用程序的窗口大小。它可以使用户内滚动的内容,通过刷卡手势,和...

  • iOS-UIKit框架学习—UIAlertView

    使用UIAlertView类向用户显示一条警告消息。警报视图的功能相似,但在外观上不同于一个动作表(UIActio...

  • iOS-UIKit框架学习—UIActionSheet

    使用UIActionSheet类可以把一套如何继续给定任务的替代品给用户。您还可以使用行动表,以提示用户确认是否有...

  • iOS-UIKit框架学习—UIAlertController

    UIAlertController对象向用户展示一个提示消息。这个类替换了用于显示提示 UIActionSheet...

  • iOS-UIKit框架学习—UITableView

    UITableView在iOS开发中是使用最广泛的一个控件,用于展示单个项目数据的列表,同时也可以进行选择和编辑操作。

  • iOS-UIKit框架学习—UIWebView

    您使用了UIWebView类,在您的应用程序中嵌入网页内容。要做到这一点,你只需创建一个UIWebView对象,将...

  • iOS-UIKit框架学习—UISearchBar

    UISearchBar类实现一个基于文本的搜索的文本字段控制。该控件提供了一个搜索按钮,输入文字的文本字段书签“按...

网友评论

    本文标题:iOS-UIKit框架学习—UIWindow

    本文链接:https://www.haomeiwen.com/subject/ehmwbttx.html