UIview的一些属性
一、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的一些属性的更多相关文章
- 关于UIView的userInteractionEnabled属性
关于UIView的userInteractionEnabled属性 如果父视图为ParentView包含一个Button,如果再ParentView上添加子视图ChildView,且ChildView ...
- UIView的clipsToBounds属性,layoutSubViews及触摸事件传递(默认情况下)总结
一.UIView的clipsToBounds属性 * 默认情况下,超出父控件尺寸范围的子控件还是可见的 * 如果设置父控件的clipsToBounds=YES,就会裁剪掉超出父控件尺寸范围内的子控件, ...
- UIView的常见属性
UIView的常见属性: @interface UIView : UIResponder<NSCoding, UIAppearance, UIAppearanceContainer, UIDyn ...
- UIView之常用属性
UIView之常用属性 1. view.tag = 200; // 系统保留0-1002. view.frame = CGRectMake(20, 30, 300, 300);3. view.cent ...
- 格而知之2:UIView的autoresizingMask属性探究
UIView的autoresizingMask属性,是用在当一个UIView实例的父控件的尺寸发生变化时,来自动调整UIView实例在父控件中的位置与尺寸的.autoresizingMask属性是一个 ...
- QF——UI之UIImageView及UIView的形变属性transform
UIImageView: 专门用来放置图片的视图.它里面放置的图片是[UIImage imageNamed: (NSString) imgName]生成的,注意千万别只写成图片NSString类型的名 ...
- iOS开发之UIView的常见属性
1.所有控件都继承自UIView,UIView的常见属性如下: @property(nonatomic,readonly) UIView *superview;获得自己的父控件对象 @property ...
- Swift下的基于UIView的位置属性扩展
一个比较简单能满足大部分需求的extensin,如下: swift 的基于UIView的位置属性 包含: 上下左右:left.right.top.botom 高宽:height.width 中心点:c ...
- [iOS] UIView的clipsTobounds属性
如题,有两个view: view1,view2view2添加view1到中,如果view2大于view1,或者view2的坐标不全在view1的范围内,view2是盖着view1的,意思就是超出的部份 ...
- iOS基础--UIView的常见属性
UIView的常见属性以及方法 @property(nonatomic,readonly) UIView *superview; // 获得自己的父控件对象 @property(nonatomic,r ...
随机推荐
- 搭建springmvc
对于SpringMvc来说,搭建这框架,首先引入相应的包.如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xml ...
- install opencv
OpenCV是一个基于开源发行的跨平台计算机视觉库,它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python.Ruby.MATLAB等语言的接口,实现了图像处理和计算机视觉 ...
- MATLAB 2014a (8.3) Compiler Runtime (MCR)
在安装的时候可以 ./install -H 界面化安装到自己目录下 MATLAB 2014a (8.3) Runtime Compiler (MCR) Errors when trying to la ...
- 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 ...
- ubuntu install git vim Plug manage
在UBUNTU采用163或是阿里云来更新源,最新的更新源地址可以在网上查阅, 阿里源 deb http://mirrors.aliyun.com/ubuntu/ bionic main restric ...
- 设置table的td宽度,不随文字变宽
页面中table宽度设置width="600px"之后,宽度仍然不是固定的,文字太长后不换行,把table都撑变形了. 解决办法: table 设置 宽度,绝对宽度和相对都可以 t ...
- easyui datagrid 没有记录
datagrid返回记录为0时显示"没有记录" datagrid 插件编写 <script> var emptyview = $.extend({},$.fn.data ...
- Mysql5.7基于日志主从复制
主从同步概念 主从同步是异步复制 Mysql两种复制类型: 基于二进制日志 使用GTID完成基于事务的复制 基于日志三种方式: Mysql5.7需要注意的问题: 老版本方法创建mysql用户 #mys ...
- UVA-10765 Doves and bombs (双连通分量)
题目大意:给一个n个点的无向连通图,找出删除某个点后的连通块个数. 题目分析:统计一下每个节点属于几个双连通分量,若是割点,得到的便是答案,否则答案为1. 代码如下: # include<ios ...
- nginx模块记录
1. ngx_http_ssl_module 让Nginx可以支持HTTPS的模块 (1)ssl on | off; #是否开启ssl功能 (2)ssl_certificate file; #当前虚拟 ...