美文网首页
UIWindow ,UIScreen

UIWindow ,UIScreen

作者: 雨雪霏霏why | 来源:发表于2016-01-05 16:20 被阅读150次

    1,UIScreen一般也只是用来获取屏幕大小

    CGrect screenBounds = [[UIScreen mainScreen] bounds];//返回的是带有状态栏的Rect (0.0,0.0,320.0,480.0)

    CGRect viewBounds = [[UIScreen mainScreen] applicationFrame];//不包含状态栏的Rect(0.0,20.0,320.0,480.0)

    一、UIWindow是一种特殊的UIView,通常在一个程序中只会有一个UIWindow,但可以手动创建多个UIWindow,同时加到程序里面。UIWindow在程序中主要起到三个作用:

    1、作为容器,包含app所要显示的所有视图

    2、传递触摸消息到程序中view和其他对象

    3、与UIViewController协同工作,方便完成设备方向旋转的支持

    二、通常我们可以采取两种方法将view添加到UIWindow中:

    1、addSubview

    直接将view通过addSubview方式添加到window中,程序负责维护view的生命周期以及刷新,但是并不会为去理会view对应的ViewController,因此采用这种方法将view添加到window以后,我们还要保持view对应的ViewController的有效性,不能过早释放。

    2、rootViewController

    rootViewController时UIWindow的一个遍历方法,通过设置该属性为要添加view对应的ViewController,UIWindow将会自动将其view添加到当前window中,同时负责ViewController和view的生命周期的维护,防止其过早释放

    相关文章

      网友评论

          本文标题:UIWindow ,UIScreen

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