一.基礎數據結構
CGGeometry參考定義幾何結構和功能,操做簡單。ide
數據結構中的一個點CGPoint表明在一個二維座標系統。函數
數據結構的位置和尺寸CGRect表明的一個長方形。ui
數據結構的尺寸CGSize表明寬度和高度。.net
點 CGPoint, 尺寸CGSize,矢量CGVector,矩形CGRectblog
CGVector CGVectorMake(CGFloat dx, CGFloat dy);//表示在x,y倆個維度的變化量rem
二. 修改矩形it
CGRectDivideio
CGRect CGRectInset(CGRect rect,CGFloat dx,CGFloat dy)基礎
返回一個比原矩形大或小的矩形,可是中心點是相同的
CGRect CGRectIntegral(CGRect A)
將矩形A的值轉變成整數,獲得一個最小的矩形,
CGRect CGRectIntersection:(CGRect A,CGRect B)
獲取兩個矩形相交處所的矩形,沒有相交返回NULL,用CGRectIsNull來檢測
CGRectOffset
CGRectStandardize
CGRectUnion
1. CGRect CGRectStandardize(CGRect rect)
矩形的寬或者高小於0時纔有改變。 把矩形的負數的寬高轉化爲正數。
2.CGRect CGRectInset(CGRect rect, CGFloat dx, CGFloat dy)
矩形rect進行內嵌後獲得的矩形
返回一個CGRect,x爲本來的x-dx y爲本來的y-dy width爲本來的width-2dx height爲本來的height-2dy
建立一個內嵌的矩形,中心和rect參數的中心同樣,dx,dy對應內嵌的寬度和高度
好比:CGRect rect= CGRectInset(CGRectMake(0, 0, 100, 100), 10, 10);
會建立出的rect爲(10,10,80,80),dx,dy也能夠爲負值,則是建立出來的矩形會大於原矩形範圍。
3.CGRect CGRectOffset(CGRect rect, CGFloat dx, CGFloat dy)
矩形rect進行偏移後獲得的矩形
CGRect向x或y方向便宜 x>0向右偏 x<0向左 y>0向下偏 y<0向上 返回一個矩形,偏移量相對於rect,只改變矩形原點origin。
4.void CGRectDivide(CGRect rect, CGRect * slice,
CGRect * remainder, CGFloat amount, CGRectEdge edge)
// 把矩形rect進行分割
/*
這個函數用來分割矩形,參數rect是源矩形,slice和remainder是分割後的兩部分矩形,amount是分割線,edge是分割選項。
注意:1>、edge是一個宏,定義了分割的方式以下:
typedef CF_ENUM(uint32_t, CGRectEdge) {
//從x的最小處進行垂直分割
CGRectMinXEdge,
//從y的最小處進行水平分割
CGRectMinYEdge,
//從x最大處進行垂直分割
CGRectMaxXEdge,
//從y最大處進行水平分割
CGRectMaxYEdge
};
2>、slice和remainder是地址。
3>、舉例以下,將會分割出兩個矩形分別爲(40,0,60,100)(0,0,40,100);
CGRect rect = CGRectMake(0, 0, 100, 100);
CGRect slice ;
CGRect remainder;
CGRectDivide(rect, &slice, &remainder, 60, CGRectMaxXEdge);
*/
5. CGRectIntegral(CGRect rect)
把矩形的寬高改成整數。根據一個矩形,返回四個參數都是整數的矩形
6.CGRect CGRectUnion(CGRect r1, CGRect r2) 並集
7.CGRect CGRectIntersection(CGRect r1, CGRect r2) 交集
三.其餘
bool CGRectIsEmpty(CGRect rect)// 矩形的寬或者高爲0 零矩形
bool CGRectIsNull(CGRect rect)// 空矩形,eg:倆個矩形相交可能會獲得空矩形
bool CGRectIsInfinite(CGRect rect)// 矩形是否無窮大
CFDictionaryRef CGSizeCreateDictionaryRepresentation(CGSize size)// //把CGSize轉換爲不可變字典
bool CGSizeMakeWithDictionaryRepresentation(
CFDictionaryRef __nullable dict, CGSize * __nullable size) //把字典轉換爲CGSize,存在size裏,成功返回true 其餘false
參考:http://blog.csdn.net/teamlet/article/details/49309971