app应用被启动加载后,通常情况下,就会有且仅有一个UIWindow实例。其目的是将需要在屏幕上显示的内容展示给我们。

一、屏幕相关的知识

    1> iPhone屏幕分辨率:

      iphone4之前的设备:320 * 480

      iphone4和iphone4S: 640 * 960

      iphone5:640 * 1136

    2>UIScreen类

      UIScreen类是当前屏幕的类,一般创建实例都是用它的类方法。[UIScreen mainScreen]。

      个人建议在写viewController的UI布局时,可以直接根据屏幕类的宽和高进行布局。

      注意:对于我们而言,当屏幕旋转90°,我们会认为屏幕的宽和屏幕的高互换。但是,UIScreen类并没有帮我们做到。

二、UIWindow的常用方法

    1>创建一个全屏的window

      self.window = [[[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds] autorelease];

    2>设置/改变rootViewController属性

      self.window.rootViewController = rootViewController;//假设rootViewController已经存在

    3>将window设置为keyWindow并显示

      [self.window makeKeyAndVisible];

    一般情况下,上面的代码中,除了设置/改变rootViewController需要自己写之外,都会由xcode自动生成。

    UIWindow是UIView的子类,所以UIView能够使用的方法UIWindow都能够调用。

    但是通常情况下,我们不调用UIWindow的方法。这和UIWindow的作用有关。

    UIWindow主要有两个作用:一是提供一个区域来显示UIView,二是将事件分发给其区域内的UIView。我们需要做的是,实现第一个作用。

一般都是通过改变rootViewController属性来实现。

    

转载于:https://www.cnblogs.com/dilin/p/3567033.html

[UI界面]-UIWindow相关推荐

  1. iOS开发UI篇—UIWindow简单介绍

    iOS开发UI篇-UIWindow简单介绍 一.简单介绍 UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow iOS程序启动完毕后,创建的第一个视图控件就是UIWi ...

  2. 【砸壳STEP2】使用cycript查看并修改微信UI界面

    z继续上次的讲,我们显示如下 cy# [alertView show] 我们使用 control + d来退出当前进程. 言归正传. 我们首先关闭全部后台程序,然后打开微信的app. 为了防止数据看起 ...

  3. 解决cocos2dx 3.x 导入cocostudio的ui界面出现错位问题

    笔者今天发现导入cocostudio的ui界面时,会有部分控件出现错位的现象,后来我看了一下源码,发现是部分控件是没有继承 Layout类,导致不能设置控件位置造成,原因可以看看cocos2dx 源码 ...

  4. UI培训教程分享:APP启动页UI界面设计

    本期为大家分享的ui培训教程是关于APP启动页面的UI设计方面,作为一名合格的UI设计师,APP产品的启动页是需要会的,下面就来看看详细的教程吧. UI培训教程分享:APP启动页UI界面设计 启动页面 ...

  5. qt ui界面无法移动控件_使用qt 键盘上的方向键只能控制ui界面上的按钮选择,不能实现我设定的功能...

    已结贴√ 问题点数:20 回复次数:2 使用qt 键盘上的方向键只能控制ui界面上的按钮选择,不能实现我设定的功能 我做的是一个贪吃蛇游戏,现在我想实现的功能是:按下键盘上的上下左右箭头的方向按键时, ...

  6. 用Cocos Studio 2.3.2制作UI界面中控件不再支持运行3d动作特效

    用Cocos Studio 2.3.2制作UI界面中控件不再支持运行3d动作特效  cocos2d-x + cocos studio无疑是当下二维手游开发的利器,但是在从旧版本向新版本的升级过程中,坑 ...

  7. NGUI 学习笔记实战——制作商城UI界面

    Unity3D的uGUI听说最近4.6即将推出,但是目前NGUI等UI插件大行其道并且已经非常成熟,所以我们还是先看眼前吧. 一.实现思想 商城的功能是很多游戏都拥有的,按下一个界面按钮,弹出一个窗体 ...

  8. 在Service中通过WindowManger添加View的方式来把UI界面显示出来

    整体方案 在Service中通过WindowManger添加View的方式来把UI界面显示出来 业务场景 具体场景 IQOO手机,游戏辅助 这种场景能否使用Activity方式来做 使用activit ...

  9. [UI] 精美UI界面欣赏[1]

    精美UI界面欣赏[1] 转载于:https://www.cnblogs.com/YouXianMing/p/4199520.html

最新文章

  1. 机器视觉与计算机视觉的区别?
  2. JQuery-FullCalendar 多数据源实现日程展示
  3. linux 系统打造man中文帮助手册图解
  4. 菜鸟教程python3 mysql_Python 操作 MySQL 数据库
  5. OpenGL 显示多个外星人实例
  6. 让你直呼哇塞的API管理神器!
  7. hadoop 配置文件简析
  8. Codeforces Round #FF (Div. 1) A. DZY Loves Sequences
  9. java drawimage()方法
  10. 如何解决Mybatis里mapper文件中关于不能用大于小于号
  11. Hadoop框架:Yarn基本结构和运行原理
  12. 怎么在linux终端上sed,Linux中如何使用sed命令
  13. 一、struts入门
  14. 3、SpringBoot集成Storm WorldCount
  15. 电话号码正则表达式(标准)
  16. Git克隆仓库代码至本地
  17. SFML/C++二维热传导模拟,热传导方程
  18. 【100+ python基础入门-37】Python可变集合和不可变集合的构造方法和注意事项
  19. tween.js 中文使用指南 1
  20. 为什么许多计算机相关书籍都以动物做封面?

热门文章

  1. 20w7珠led驱动电源电路图_LED串联驱动电路图
  2. 冷热分离和直接使用大数据库_智能冷热分离的思考-内存数据库
  3. Non-resolvable parent POM for com.supermarket:supermarket:0.0.1-SNAPSHOT: Could not transfer artifac
  4. php cors和jsonp,jsonp和CORS跨域实现
  5. java处理报错的快捷键_java快捷键
  6. java httpclient 返回xml_通过httpClient通过post向接口发送xml数据,并处理返回的xml报文...
  7. mysql跨服务器链表_MySQL 源码链表的实现
  8. php单独输出每个单词,PHP:在特定短语/单词之后搜索文本文件并输出
  9. mysql主主同步修复
  10. 学习笔记(05):MySQL数据库运维与管理-03-二进制日志配置管理演示