iOS开发关于位置的三个结构

做iOS开发,我们需要指定控件,文本,图片等显示在视图的位置,那么我们不可避免的和下面的三个结构打交道

CGPoint

CGSize

CGRect

注意:这三个是结构,不是类,所以在使用的时候一般不用指针。下面我们看这三个结构的定义。

struct CGPoint {

 CGFloat x;

 CGFloat y;

};

typedefstructCGPoint CGPoint;

/* Sizes. */


struct CGSize {

  CGFloat width;

  CGFloat height;

};

typedefstructCGSize CGSize;


/* Rectangles. */


struct CGRect {

  CGPoint origin;

  CGSize size;

};

typedefstructCGRect CGRect;

CGRect和前两者的关系如下图所示:


这三个结构分别有一个对应的生成函数:


生成函数例子
CGPointMake (x, y)CGPoint point = CGPointMake (100.0, 200.0);

point.x = 300.0;

point.y = 30.0;

CGSizeMake (width, height)

CGSize size = CGSizeMake (42.0, 11.0);

size.width = 100.0;

size.height = 72.0;

CGRectMake (x, y, width, height)

CGRect rect = CGRectMake (100.0, 200.0,

                          42.0, 11.0);

rect.origin.x = 0.0;

rect.size.width = 50.0;


在iOS编程中,坐标系统说明如下:

不论设备的方向如何,原点一定在屏幕的左上角,Y轴是从上到下,依次变大,X轴是从左到右,依次变大。

需要说明的几点

1.坐标和长度都是float型,

2.你可以指定一个屏幕外的值,甚至是负值,这个时候把屏幕想像成位于一个笛卡儿坐标系中即可,不过和普通的笛卡儿坐标系不同的是,第一象限在右下部。


  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值