UIView
来源:互联网 发布:有毒网络剧歌曲 编辑:程序博客网 时间:2024/05/19 17:23
概述:
UIView继承与UIResponder, 作为所有视图类的基类, 具有三个基本功能:图画和动画, 管理内容的布局, 控制事件交互.担当MVC中视图层的作用.同时作为一个高度可配置类类, 通常会通过子类化以实现更为丰富的功能或者界面现实.
1. 图画功能
1.1.1 可视化界面的自定义
常用的界面属性
hidden
alpha
opaque
显示 或者隐藏
透明度 (当透明度为0 或者 视图为隐藏状态时, 视图将失去交互功能)
视图的是否是不透明的, (图形绘制时, 提升性能)
layer
layerClass
可用于动画frame
bounds
center
transform
位置信息 1.1.2 重绘功能
- (void)drawRect:(CGRect)rect
- setNeedsDisplay
2. 动画
3. 管理内容的布局
子视图管理:
subview 获取本视图的所有子视图 存于数组中
· 描述视图是否显示@property(nonatomic,readonly)UIWindow*window
(read-only)
This property is nilif the view has not yet been added to a window
· - (void) bringSubviewToFront 将视图移动到最上层
· - (vid) sendSubviewToBack 将视图移动到最下层
· - (void)removeFromSuperview
If the view’s superview is not nil, the superview releases the view.
· - insertSubview:atIndex: 在父视图的某个位置插入子视图 从下标0 开始
· - insertSubview:aboveSubview: 将某个视图 插入到某个视图上方
· - insertSubview:belowSubView: 将视图插入到某个视图下方
· - xechangeSubviewAtIndex: withSubviewAtIndex: 使用下标交换两个视图的位置
· 属性 (BOOL) 判断当前视图对象是否时给定视图的子类
isDescendantOfView:(UIView *)
重新布局(适用于屏幕旋转)
通过重写- layoutSubviews 方法实现重新布局 其原理是在如下情况下 此方法会被触发调用:
触发机制
1、init初始化不会触发layoutSubviews
2、addSubview会触发layoutSubviews
3、设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化
4、滚动一个UIScrollView会触发layoutSubviews
5、旋转Screen会触发父UIView上的layoutSubviews事件
2、addSubview会触发layoutSubviews
3、设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化
4、滚动一个UIScrollView会触发layoutSubviews
5、旋转Screen会触发父UIView上的layoutSubviews事件
6、改变一个UIView大小的时候也会触发父UIView上的layoutSubviews事件
当然也可以通过方法()主动调用重新布局方法
0 0
- UIView
- UIView
- UIView
- UIView
- UIView
- UIView
- UIView
- UIView
- UIView
- UIView
- UIView
- UIView
- UIView
- UIView
- UIView
- UIVIew
- UIView
- UIView
- Spark为啥比hadoop速度快?
- html css js五子棋
- C#委托 Delegate
- Akka书箱推荐
- Java并发小结,先验条件、后验条件等概念
- UIView
- Sort Color
- 问题解决:SqlParameterCollection只接受非空的SqlParameter类型对象,不接受SqlParameter[]对象
- UIPageControl
- sort自定义cmp函数
- hdoj 2023 求平均成绩【基础题】
- 二叉搜索树的基本操作
- LDA 线性判别分析
- Shiro使用和原理分析---2