iOS——UIView

一、UIView简介

1. UIView 基础

1)任何 UIView 对象或其子类对象都是可以显示在屏幕上的,即 MVC 设计模式中的 视图
2)每一个 UIView 对象或其子类对象都知道如何绘制自己到屏幕上
3)因为 UIView 继承 UIResponder,所以可以处理事件,和用户交互

2. UIView 层次结构

1)视图会按层次结构排列,位于视图顶层的是应用窗口,即 UIWindow 对象
2)每个应用有且只有一个 UIWindow 对象,UIWindow 负责包含所有的 视图

3. UIView 对象的绘制

1)视图层次结构形成后,系统会将其系那是到屏幕上,可以分为两步
a. 层次结构中的每个视图对象分别绘制自己(包括 UIWindow 对象);每个 UIView 对象都有一个 layer 属性,指向一个 CALayer 对象,视图会将自己绘制到图层(layer)上
b. 所有视图的图层组合成一幅图像,绘制到屏幕上

例如 : 计算器绘制到屏幕上,如下


二、UIView分类——UIViewGeometry

1. 保存视图的大小和相对于父视图的位置

@property(nonatomicCGRect frame;


2. 保存视图的大小和相对于本视图的位置;默认是 frame 的大小,坐标是 0

@property(nonatomic)CGRect bounds;


3. 保存视图的中点坐标;是 frame 的中点

@property(nonatomic)CGPoint center;


4. 保存视图的缩放、旋转、位移属性;

@property(nonatomic)CGAffineTransform transform;

    // CGAffineTransform 结构
    struct CGAffineTransform {
        CGFloat a, b, c, d;
        CGFloat tx, ty;
    };
    typedef struct CGAffineTransform CGAffineTransform;
a、b——放大、缩小
c、d——选择旋转角度
tx、ty——平移

5. 界面与屏幕的缩放比例;默认为 1

@property(nonatomic) CGFloat contentScaleFactor


6. 设置视图是否支持多点触控;默认为 NO

@property(nonatomic,getter=isMultipleTouchEnabled) BOOL multipleTouchEnabled 



 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值