iOS開發(fā)CGRectInset、CGRectOffset等對比整理
1、CGRectInset
- CGRect CGRectInset (
- CGRect rect,
- CGFloat dx,
- CGFloat dy
- );
該結(jié)構(gòu)體的應(yīng)用是以原rect為中心,再參考dx,dy,進(jìn)行縮放或者放大。
圖中的每一個矩形都是以上一個矩形作為參考矩形。所以下一矩形(比如黃色矩形對綠色矩形來說是下一個矩形)都比上一個矩形要小。具體小多少都是要參照dx和dy來判定的。
2、CGRectOffset
- CGRect CGRectOffset(
- CGRect rect,
- CGFloat dx,
- CGFloat dy
- );
相對于源矩形原點rect(左上角的點)沿x軸和y軸偏移, 再rect基礎(chǔ)上沿x軸和y軸偏移
- float offset = 125.0;
- CGRect r1 = CGRectMake(100, 100, 5, 5);
- CGRect r2 = CGRectOffset(r1, offset, offset);
3、frame和dounds
frame和bounds是UIView中的兩個屬性(property)。
- -(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坐標(biāo)系統(tǒng)中的位置和大小。(參照點是父親的坐標(biāo)系統(tǒng))
bounds指的是:該view在本身坐標(biāo)系統(tǒng)中 的位置和大小。(參照點是本身坐標(biāo)系統(tǒng))