星空网 > 软件开发 > 操作系统

UIView常见属性详解

上篇大体介绍了一些空间的常见属性,本篇主要介绍一下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值向下正向延伸,如下图所示

UIView常见属性详解images/loading.gif' data-original="http://images.cnitblog.com/blog2015/756184/201505/131043489855996.png" />

@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属性是描述当前视图在父视图中的位置和尺寸

UIView常见属性详解

所以按钮的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

 




原标题:UIView常见属性详解

关键词:ie

ie
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

几大主流电商平台分别都有哪些特点?:https://www.ikjzd.com/articles/96352
如何结合Facebook广告和电子邮件营销提升转化率:https://www.ikjzd.com/articles/96353
Wish产品和价格差异政策常见问题解答!:https://www.ikjzd.com/articles/96354
亚马逊想独占“亚马逊”,惹怒亚马逊流域国家!:https://www.ikjzd.com/articles/96355
砸自己脚?美国多项研究表明美国加征关税损人害己!:https://www.ikjzd.com/articles/96357
各海关进出口贸易数据怎么查?(附实操步骤详解):https://www.ikjzd.com/articles/96358
别犹豫了,品牌种草营销就是现在!:https://www.kjdsnews.com/a/1836479.html
安能物流的2024:变革不能停:https://www.kjdsnews.com/a/1836480.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流