网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

iOS开发教程——介绍Window的旋转

想要创建一个自己的window用于展示提示,需要自己去处理该window的旋转,根据不同的方向调整window的位置和transform。

专注于为中小企业提供成都做网站、成都网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业安新免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

一、那么就要完成2方面:

1、创建一个UIWindow,指定它的frame为statusBar的frame,并且设置该window的windowLevel级别略高于statusBar的windowLevel。

2、注册系统的旋转通知,监测设备方向变化,根据当前设备的方向做出相应的调整。

在完成整个过程中主要用到了UIWindow和transfrom有关内容,那么相比之下较难的就属在自己旋转window这一块了。

二、Window的旋转

UIKit通过UIWindow和UIViewContoller为我们提供了一套旋转支持的框架,在方向变化以后viewController中view的坐标系统就已经被指引到正确的方向上去了,那么只要简简单单的再布下局就ok了。我们现在是直接通过UIWindow实现状态栏提示控件,所以要独立完成window旋转操作。

大家都清楚对当前view设置的transform是针对它的父view的,window本身就是一种特殊的view。你可能会疑问window不就是最底层的view,它还有父view吗?

答案是YES,不信的话你可以打印一下window的superView看看。window默认方向是portrait方向,向下y坐标增加,向右x坐标增加。因此Portrait方向我们只需要向普通的view那样布局就可以了,其它几个方向我们就需要用到transform和设置位置来搞定了。

如图:从Portrait方向转到landscapeRight方向展示:

iOS开发教程——介绍Window的旋转iOS开发教程——介绍Window的旋转iOS开发教程——介绍Window的旋转iOS开发教程——介绍Window的旋转

从上面图中的展示可以很清楚的看到是怎样将初始位置(Portrait方向),旋转到目标位置(landscapeRight方向)的过程。

总结如下:

1、最开始window位置是在屏幕的最上面的

2、对window做90°顺时针旋转,就到了绿色的位置上了

3、第三步要再修改window的center到屏幕最右边并且上下居中,使位置在到红色虚线的部分

4、最后window的bound进行设置,目的让window占据屏幕右边的部分。

但是有一点大家一定要注意:在先前的时候window的transform就已经顺时针转了90°了,所以,高和宽也就不变了,此时width代表高,height代表宽。


当前名称:iOS开发教程——介绍Window的旋转
标题网址:http://bjjierui.cn/article/ppjhgh.html

其他资讯