iOS开发-frame与bouns详解

本文深入探讨iOS坐标系,重点解析UIView的frame和bounds的区别。frame定义了视图在父视图坐标系中的位置和大小,而bounds则表示视图在本地坐标系中的位置和大小,其原点默认在左上角。通过实例分析,当修改bounds的原点或大小时,会直接影响视图及其子视图的显示效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、iOS坐标系

在iOS坐标系中,以屏幕左上角为坐标原点(0, 0),往右是X正方向,往下是Y正方向。

 2、frame与bouns

boundsframe都是CGRect类型,CGRect是包含一个CGPoint和一个CGSize的结构体。

struct CGRect {
    CGPoint origin;
    CGSize size;
};

origin决定view的原点(左上角点)的位置,size决定view的长宽。

从源码看boundsframe区别:

-(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);
}

frame表示子view在父view的坐标系统中的位置和大小,子view以view的坐标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值