ios-day11-01(UIWindow的常用方法。makeKeyWindow、makeKeyAndVisible、获取当前应用的主窗口和所有窗口)
2015-03-11 10:28
555 查看
UIWindow的常用方法:
- (void)makeKeyWindow;
让当前UIWindow变成keyWindow(主窗口)
- (void)makeKeyAndVisible;
让当前UIWindow变成keyWindow,并显示出来
UIWindow的获得:
[UIApplication
sharedApplication].windows
获取当前应用的所有的UIWindow
[UIApplication
sharedApplication].keyWindow
获取当前应用的主窗口
view.window
获得某个UIView所在的UIWindow
下面是一个demo,用来测试UIWindow:
1,新建一个没有main.toryboard的工程
2,在delegate的didFinishLaunchingWithOptions:方法中创建UIWindow:
3,效果图:
3.1,从代码中我们可以得知,红色部分的window不是主窗口,蓝色部分的window是主窗口。
3.2,在ios7.1的模拟器中,主窗口和非主窗口中的输入框都能输入文字,但是在ios6.1的模拟器中,非主窗口的输入框不能输入文字。
注意:如果有时候发现文本输入框不能输入文字,那就有可能是因为该文本输入框所处的UIWindow不是keyWindow(主窗口)
3.3,弹出的键盘处在一个新的UIWindow中,也就是说键盘弹出后,这个程序就有了3个UIWindow。
如何证实键盘处在一个新的UIWindow中呢?在弹出键盘之前,通过[UIApplication sharedApplication].windows方法获取到所有的UIWindow,我们可以在主窗口中弄一个按钮,并给按钮设置监听(假设监听方法是btnClick方法),弹出键盘之后,在btnClick方法中通过[UIApplication sharedApplication].windows方法获取到所有的UIWindow,比较之前获取到的所有的UIWindow就可以证明了。
- (void)makeKeyWindow;
让当前UIWindow变成keyWindow(主窗口)
- (void)makeKeyAndVisible;
让当前UIWindow变成keyWindow,并显示出来
UIWindow的获得:
[UIApplication
sharedApplication].windows
获取当前应用的所有的UIWindow
[UIApplication
sharedApplication].keyWindow
获取当前应用的主窗口
view.window
获得某个UIView所在的UIWindow
下面是一个demo,用来测试UIWindow:
1,新建一个没有main.toryboard的工程
2,在delegate的didFinishLaunchingWithOptions:方法中创建UIWindow:
3,效果图:
3.1,从代码中我们可以得知,红色部分的window不是主窗口,蓝色部分的window是主窗口。
3.2,在ios7.1的模拟器中,主窗口和非主窗口中的输入框都能输入文字,但是在ios6.1的模拟器中,非主窗口的输入框不能输入文字。
注意:如果有时候发现文本输入框不能输入文字,那就有可能是因为该文本输入框所处的UIWindow不是keyWindow(主窗口)
3.3,弹出的键盘处在一个新的UIWindow中,也就是说键盘弹出后,这个程序就有了3个UIWindow。
如何证实键盘处在一个新的UIWindow中呢?在弹出键盘之前,通过[UIApplication sharedApplication].windows方法获取到所有的UIWindow,我们可以在主窗口中弄一个按钮,并给按钮设置监听(假设监听方法是btnClick方法),弹出键盘之后,在btnClick方法中通过[UIApplication sharedApplication].windows方法获取到所有的UIWindow,比较之前获取到的所有的UIWindow就可以证明了。
相关文章推荐
- ios-day11-01(UIWindow的常用方法。makeKeyWindow、makeKeyAndVisible、获取当前应用的主窗口和所有窗口)
- UIWindow的常用方法。makeKeyWindow、makeKeyAndVisible、获取当前应用的主窗口和所有窗口
- iOS 【程序启动原理/手动创建UIWindow/UIApplicationMain做了些什么/makeKeyAndVisible底层实现】
- C# Windows API应用之基于GetDesktopWindow获得桌面所有窗口句柄的方法
- ios-day12-01(ios开发中的数据存储的常用方式有哪些、应用沙盒目录结构、应用沙盒目录路径的常见获取方式)
- IOS问题汇总:2015-1-19 makeKeyAndVisible的作用
- iOS makeKeyAndVisible
- C# Windows API应用之GetDesktopWindow ——获得桌面所有窗口句柄的方法
- iOS 应用获取最上层全屏 Window 的正确方法
- iOS 如何获取应用当前的控制器 UIWindow & UIWindowLevel笔记
- [ios]makeKeyAndVisible
- VC Windows API应用之GetDesktopWindow ——获得桌面所有窗口句柄的方法
- iOS 应用获取最上层全屏 Window 的正确方法
- iOS 获取 当前设备 可用内存 及当前 应用 所占内存 (转)
- C#中获取程序当前路径的7种最常用的方法
- C# 反射应用实例-获取当前Color类的所有颜色
- makeKeyAndVisible
- 获取无窗口RichEdit的HostWindow的方法
- ios开发中在当前窗口上加载视图的方法
- 获取当前系统的所有可见窗口名称