一、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. 深度学习笔记(一):logistic分类【转】

    本文转载自:https://blog.csdn.net/u014595019/article/details/52554582 这个系列主要记录我在学习各个深度学习算法时候的笔记,因为之前已经学过大概 ...

  2. swoole 异步队列简明教程

    安装步骤如下(推荐把安装文件下载到 /usr/local/src 目录下): step 1: wget --no-check-certificate https://github.com/swoole ...

  3. 项目发布后 Tomcat中只有web-INF文件夹

    这是有文件夹没有加载   解决办法如下

  4. Mac OS build caffe2 Error:This file was generated by an older version of protoc which is

    问题所在 我们可以发现这个错误跟protobuf的版本有关,因此我们可以执行script/diagnose_protobuf.py 我们可以看到,pip install protobuf 和 brew ...

  5. UVA 1393 Highways(数学思想)

    题意:给你n.m(n,m<=200),问你有多少条非水平.非垂直的直线有多少条经过至少两个点 题解:我们需要枚举的是只画一条线的矩形,对于大小a*b的矩形必须保证gcd(a,b)=1才能不重复 ...

  6. contos LINUX搭建LAMP笔记

    LINUX搭建LAMP笔记 .YUM:Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于R ...

  7. JavaScript的动态特性(通过eval,call,apply和bind来体现)

    JavaScript的动态特性(通过eval,call,apply和bind来体现) JavaScript是一种基于面向对象的.函数式的.动态的编程语言.现在发展到已经可以用在浏览器和服务器端了. 这 ...

  8. 使用GEOquery下载GEO数据--转载

    最近需要下载一大批GEO上的数据,问题是我要下载的Methylation数据根本就没有sra文件,换言之不能使用Aspera之类的数据进行下载.但是后来我发现了GEOquery这个不错的R包,不知道是 ...

  9. 使用IDEA创建SpringBoot自定义注解

    创建SpringBoot项目 添加组织名 选择web 输入项目名称 创建后目录结构为 使用Spring的AOP先加入Maven依赖 <dependency> <groupId> ...

  10. uva109求凸包面积,判断点是不是在凸包内

    自己想了一个方法判断点是不是在凸包内,先求出凸包面积,在求由点与凸包上每两个点之间的面积(点已经排好序了),如果两者相等,则点在凸包内,否则不在(时间复杂度可能有点高)但是这题能过 #include& ...