国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

UIView常見屬性詳解

2019-11-14 19:03:36
字體:
來源:轉載
供稿:網友

上篇大體介紹了一些空間的常見屬性,本篇主要介紹一下UIVIew的常見屬性.

首先引入上一篇介紹的UIView的常見屬性:

//控件所在矩形框在父控件中的位置和尺寸(以父控件的左上角為坐標原點)@PRoperty(nonatomic) CGRect frame;//控件所在矩形框的位置和尺寸(以自己左上角為坐標原點,所以bounds的x/y一般為0)@property(nonatomic) CGRect bounds;//控件中點的位置(以父控件的左上角為坐標原點)@property(nonatomic) CGPoint center;//控件的形變屬性(可以設置旋轉角度、比例縮放、平移等屬性@property(nonatomic) CGAffineTransform transform;

想了解這幾個常用的屬性,首先要知道:在UIKit中,坐標系的原點(0,0)在左上角,x值向右正向延伸,y值向下正向延伸,如下圖所示

UIKit坐標系介紹

@property(nonatomic) CGRect frame;

struct CGRect {   CGPoint origin;   CGSize size;};typedef struct CGRect CGRect;

CGRect是一個結構體,它有origin和size屬性.而origin是一個CGPoint,是一個點,它又有兩個屬性為X/Y,代表位置.

                     size是一個CGSize,它有兩個屬性為Width/Height,代表寬高.

frame屬性是描述當前視圖在父視圖中的位置和尺寸

所以按鈕的frame屬性的參照點是父視圖(新添加的view),以父視圖的左上角為坐標原點.

@property(nonatomic) CGRect bounds;

以控件所在矩形框的位置和尺寸(以自己左上角為坐標原點,所以bounds的x/y一般為0)與frame的主要區別也就在于此.


@property(nonatomic) CGPoint center;

控件中點的位置(以父控件的左上角為坐標原點):是一個CGPoint,只有x/y屬性.

 


@property(nonatomic) CGAffineTransform transform;

控件的形變屬性(可以設置旋轉角度、比例縮放、平移等屬性)

 

 

總結:

  1. frame和bounds的主要區別:
    -(CGRect)frame{    return CGRectMake(self.frame.origin.x,self.frame.origin.y,self.frame.size.width,self.frame.size.height);}-(CGRect)bounds{    return CGRectMake(0,0,self.frame.size.width,self.frame.size.height);}

     

    1. frame指的是:視圖(控件)在父視圖坐標系統中的位置和大小。(參照點是父視圖的坐標系統)

      bounds指的是:視圖(控件)在本身坐標系統中的位置和大小。(參照點是本身坐標系統,x,y都為0)

  2. 修改控件的位置可以使用:frame/center/transform
  3. 修改控件的大小可以使用:frame/bounds/transform

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 焦作市| 太湖县| 华亭县| 阿坝县| 美姑县| 龙口市| 临高县| 西贡区| 临湘市| 阿坝县| 中宁县| 陕西省| 井研县| 筠连县| 水富县| 万宁市| 玉屏| 四会市| 祁连县| 上饶县| 英吉沙县| 顺平县| 平果县| 环江| 平陆县| 密山市| 黑龙江省| 濮阳县| 塔城市| 金秀| 宜良县| 万全县| 大化| 改则县| 绩溪县| 乌审旗| 罗山县| 鲁甸县| 固原市| 介休市| 汝城县|