一、UIView(视图\控件)
1.在屏幕上能看得见、摸得着的东西,都是UIView对象
2.任何UIView都可以充当其他UIView的容器
3.关于UIView的一些疑问
1> 谁来管理UIView的生命周期(创建和销毁UIView)?
2> 谁来给UIView提供数据?
3> 谁来处理UIView的事件?
上面三个问题的答案都是UIViewController
4.UIView的位置是相对于父控件的,以父控件的左上角为坐标原点,X值向右增加,y值向下增加

5.常用属性
1> superview 父控件
2> subviews 所有的子控件
3> frame : 在父控件坐标系中的位置和尺寸(可以用来修改位置和尺寸)
4> bounds : 在自己坐标系中的位置和尺寸 (bounds的x、y永远是0,只可以用来修改尺寸)
5> center : 控件的中点在父控件坐标系中的位置
6> tag : 控件的标识,父控件可以通过tag属性找到对应的子控件

6.常用方法
1> viewWithTag: 通过tag属性找到对应的子控件
2>

二、UIViewController
1.每个控制器内部都有个默认的UIView属性

三、UIWindow(窗口,一般是全屏的)
1.每个app都有自己的窗口
2.app之所以能显示东西,完全是因为它有窗口
2.UIWindow继承自UIView

四、打开程序做了什么事情?
1.加载程序的一些资源
2.资源加载完毕后会创建属于app自己的窗口(UIWindow)
3.创建app的第一个控制器,控制器会初始化它内部的UIView
4.把第一个控制器的UIView添加到窗口中,于是控制器的UIView就显示在屏幕上

五、控制器如何初始化它内部的view
1> 通过代码
[[UIView alloc] init];
2> 通过xib文件

六、xib文件
1.跟nib是同义词
2.本质是xml文件
3.Interface Builder工具专门用来解析xib文件,以图形界面的形式展示给开发者看
4.xcode已经集成了Interface Builder工具
5.xib文件的加载过程
1> 加载xib文件的时候需要传入一个File's Owner对象
2> 创建Objects下面的所有对象
3> 检查File's Owner跟Objects下面对象的关联关

UIview的一些属性的更多相关文章

  1. 关于UIView的userInteractionEnabled属性

    关于UIView的userInteractionEnabled属性 如果父视图为ParentView包含一个Button,如果再ParentView上添加子视图ChildView,且ChildView ...

  2. UIView的clipsToBounds属性,layoutSubViews及触摸事件传递(默认情况下)总结

    一.UIView的clipsToBounds属性 * 默认情况下,超出父控件尺寸范围的子控件还是可见的 * 如果设置父控件的clipsToBounds=YES,就会裁剪掉超出父控件尺寸范围内的子控件, ...

  3. UIView的常见属性

    UIView的常见属性: @interface UIView : UIResponder<NSCoding, UIAppearance, UIAppearanceContainer, UIDyn ...

  4. UIView之常用属性

    UIView之常用属性 1. view.tag = 200; // 系统保留0-1002. view.frame = CGRectMake(20, 30, 300, 300);3. view.cent ...

  5. 格而知之2:UIView的autoresizingMask属性探究

    UIView的autoresizingMask属性,是用在当一个UIView实例的父控件的尺寸发生变化时,来自动调整UIView实例在父控件中的位置与尺寸的.autoresizingMask属性是一个 ...

  6. QF——UI之UIImageView及UIView的形变属性transform

    UIImageView: 专门用来放置图片的视图.它里面放置的图片是[UIImage imageNamed: (NSString) imgName]生成的,注意千万别只写成图片NSString类型的名 ...

  7. iOS开发之UIView的常见属性

    1.所有控件都继承自UIView,UIView的常见属性如下: @property(nonatomic,readonly) UIView *superview;获得自己的父控件对象 @property ...

  8. Swift下的基于UIView的位置属性扩展

    一个比较简单能满足大部分需求的extensin,如下: swift 的基于UIView的位置属性 包含: 上下左右:left.right.top.botom 高宽:height.width 中心点:c ...

  9. [iOS] UIView的clipsTobounds属性

    如题,有两个view: view1,view2view2添加view1到中,如果view2大于view1,或者view2的坐标不全在view1的范围内,view2是盖着view1的,意思就是超出的部份 ...

  10. iOS基础--UIView的常见属性

    UIView的常见属性以及方法 @property(nonatomic,readonly) UIView *superview; // 获得自己的父控件对象 @property(nonatomic,r ...

随机推荐

  1. Centos7 Python3.x源码安装

    第一步,安装开发工具集 yum -y groupinstall "Development tools" 第二步,安装相关依赖包: yum -y install zlib-devel ...

  2. iOS开发进阶 - 富文本正则替换表情

    移动端访问不佳,请访问我的个人博客 最近写项目需要用到富文本解析字符串显示表情,下面是我使用正则替换实现富文本的方式,希望能帮助到大家 先上效果图和demo地址 实现过程中需要用到的知识点 NSReg ...

  3. windows下Redis主从复制配置(报错:Invalid argument during startup: unknown conf file parameter : slaveof)

    主从复制配置中的遇到的异常: Invalid argument during startup: unknown conf file parameter :  slaveof 把Redis文件夹复制两份 ...

  4. c# 过滤HTML代码 源代码,案例 下载

    #region 过滤HTML代码 //替换掉html字符,只显示文字信息. public string replaceHtmlCode(string Htmlstring) { Htmlstring ...

  5. mysql中group by存在局限性探讨(待续)

    现在有一个需求:在2018年游戏充值记录表(字段主要有: user_name , money , game_id , 表有6000w行)查找出哪些人在某段日期内累计充值金额在100~500元范围内的, ...

  6. 简单描述DataAdapter、DataReader、DataSet、Datatable对比

    一.存储的对比 DataReader 从数据库中检索[只读]数据流,存在客户端网络缓冲区,直到Read方法访问它们. DataAdapter 表示一组SQL命令和数据库连接,用于填充DateSet和[ ...

  7. 解决ubuntu在当前位置打开终端功能

    ubuntu右键在当前位置打开终端   ubuntu增加右键命令:   在终端中打开   软件中心:   搜索nautilus-open-terminal安装   命令行:   sudo apt-ge ...

  8. canvas实现鼠标拖拽矩形移动改变大小

    项目的一个新需求,动态生成矩形框,鼠标点击拖动改变矩形框的位置,并可以调整大小. 之前做过一个小demo,需求类似,但是在canvas内只有一个矩形框,拖动移动,当时记得是用isPointInPath ...

  9. Android Codenames, Tags, and Build Numbers

    Starting with Cupcake, individual builds are identified with a short build code, e.g. FRF85B. The fi ...

  10. Android我的便签-----SQLite的使用方法

    在Android开发中也有数据库的存在,最近有空,把以前写的一个便签来讲述一下Android中的数据库,跟大家分享分享的,希望对大家有所帮助. SQLite简介 SQLite,是一款轻量级的关系型数据 ...