一、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. 搭建springmvc

    对于SpringMvc来说,搭建这框架,首先引入相应的包.如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xml ...

  2. install opencv

    OpenCV是一个基于开源发行的跨平台计算机视觉库,它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python.Ruby.MATLAB等语言的接口,实现了图像处理和计算机视觉 ...

  3. MATLAB 2014a (8.3) Compiler Runtime (MCR)

    在安装的时候可以 ./install -H 界面化安装到自己目录下 MATLAB 2014a (8.3) Runtime Compiler (MCR) Errors when trying to la ...

  4. Codeforces Round #279 (Div. 2) B. Queue

    B. Queue time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp ...

  5. ubuntu install git vim Plug manage

    在UBUNTU采用163或是阿里云来更新源,最新的更新源地址可以在网上查阅, 阿里源 deb http://mirrors.aliyun.com/ubuntu/ bionic main restric ...

  6. 设置table的td宽度,不随文字变宽

    页面中table宽度设置width="600px"之后,宽度仍然不是固定的,文字太长后不换行,把table都撑变形了. 解决办法: table 设置 宽度,绝对宽度和相对都可以 t ...

  7. easyui datagrid 没有记录

    datagrid返回记录为0时显示"没有记录" datagrid 插件编写 <script> var emptyview = $.extend({},$.fn.data ...

  8. Mysql5.7基于日志主从复制

    主从同步概念 主从同步是异步复制 Mysql两种复制类型: 基于二进制日志 使用GTID完成基于事务的复制 基于日志三种方式: Mysql5.7需要注意的问题: 老版本方法创建mysql用户 #mys ...

  9. UVA-10765 Doves and bombs (双连通分量)

    题目大意:给一个n个点的无向连通图,找出删除某个点后的连通块个数. 题目分析:统计一下每个节点属于几个双连通分量,若是割点,得到的便是答案,否则答案为1. 代码如下: # include<ios ...

  10. nginx模块记录

    1. ngx_http_ssl_module 让Nginx可以支持HTTPS的模块 (1)ssl on | off; #是否开启ssl功能 (2)ssl_certificate file; #当前虚拟 ...