iOS UIWindow,UIApplication类中的属性介绍
来源:互联网 发布:html简单小游戏源码 编辑:程序博客网 时间:2024/06/10 09:30
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;}
window是用来设置程序的窗口的,在iOS中,所有的界面都是展示在窗口上面的,所有window必须设置。
2、window的属性以及方法
(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、 window的通知类型,在window的操作中,如果需要做操作,可以检测window的通知,
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、如果检测了键盘的动作通知,可以就可以取的键盘的一些数据,有关键盘取数据的key如下(检测了键盘通知的时候,通知会附加一个userInfo字典属性,里面存储有关键盘的信息),
UIKeyboardFrameBeginUserInfoKey // 键盘开始变化的时候的值UIKeyboardFrameEndUserInfoKey // 键盘结束变化的时候的值UIKeyboardAnimationDurationUserInfoKey // 键盘变化的时间戳UIKeyboardAnimationCurveUserInfoKey/*// 如果检测的是UIKeyboardFrameBeginUserInfoKey或者UIKeyboardFrameEndUserInfoKey通知,会用到下面的keyUIKeyboardCenterBeginUserInfoKeyUIKeyboardCenterEndUserInfoKeyUIKeyboardBoundsUserInfoKey*/
UIApplication:
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 // 状态栏的frame ,如果状态栏隐藏的话,返回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、上面的基本上就是常用的一些数据,还有一个通知和key就不一一介绍了,
- iOS UIWindow,UIApplication类中的属性介绍
- iOS UIApplication 和 UIWindow
- UIApplication、UIView、UIWindow、UIScreen、UIViewController、UINavigationController 介绍
- ios-day10-06(UIApplication的介绍。UIApplication的常用属性、使用UIApplication控制和管理状态栏)
- IOS开发中的UIApplication类
- iOS UIWindow基本介绍
- iOS开发中的UIWindow
- IOS开发中的UIApplication
- iOS开发中的UIApplication
- iOS: UIApplication的属性applicationState
- UIApplication UIWindow 的归纳总结
- iOS中关于UIApplication的详细介绍
- iOS开发UI篇 -- 0407UIApplication、UIWindow以及程序启动过程
- OC笔记 - UIPickerView、UIDatePicker、项目中的常见文件、UIApplication、UIWindow(2015.3.15)
- UIWindow介绍
- UIWindow介绍
- UIWindow介绍
- 浅析iOS应用中的main()和UIApplication
- android ViewPager实现广告轮播
- Android 中String的小秘密
- javax.validation.ValidationException: HV000183: Unable to load 'javax.el.ExpressionFactory'
- Android中用到的设计模式
- xcode打包报错:there was an internal api error
- iOS UIWindow,UIApplication类中的属性介绍
- 八大排序算法
- VS中一些warning的消除
- WDF DMA一些概念(2)
- listview中-全选-单选-多选
- c++第五次作业
- Android 网络通信框架Volley简介(Google IO 2013)
- Access Denied: Either the SOM service on the machine is not started or the user attempting this conn
- HDOJ 1021 Fibonacci Again