bringSubviewToFront:
把指定的子視圖移動到頂層
- (void)bringSubviewToFront:(UIView *)view
參數
view
須要移到頂層的視圖ide
convertPoint:fromView:
把一個點從一個座標系轉換到接收者的座標系
- (CGPoint)convertPoint:(CGPoint)point fromView:(UIView *)view
參數
point
一個視圖中座標系上的點
view
一個視圖包含了點和他自身座標系。若是是圖是nil,那麼這個方法將嘗試轉換基於窗口的座標系。不然視圖和那個接收者必須屬於同一個UIWindow對象。
返回值
一個轉換到接收者座標系的點
convertPoint:toView:
轉換一個點從接收者座標系到給定的視圖座標系
- (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view
參數
point
一個在調用者座標系中的點
view
一個包含了須要被轉換的點的視圖。若是視圖是nil,那麼這個方法將會轉換成基於窗口的座標。不然視圖和接收者都要屬於同一個UIWindow對象。
返回值
基於視圖的座標系轉換過的點
convertRect:fromView:
轉換一個矩形從其餘視圖座標系到接收者座標系。
- (CGRect)convertRect:(CGRect)rect fromView:(UIView *)view
參數
rect
一個在視圖座標系中的矩形
view
一個視圖內部有矩形在他的座標系中。若是視圖是nil,那麼這個方法將會基於窗口來轉換。不然視圖和接收者必須都屬於同一個UIWindow對象
返回值
The converted rectangle
轉換過的矩形
convertRect:toView:
轉換接收者座標系中的矩形到其餘視圖
- (CGRect)convertRect:(CGRect)rect toView:(UIView *)view
參數
rect
一個在接收者座標系中的矩形
view
要轉換過去的目標視圖對象。若是這個是視圖是nil,這個方法將會基於窗口座標系來轉換。否者視圖和接收者必須屬於同一個UIwindow對象
返回值
一個轉換過的矩形 測試
drawRect:
在接收者視圖中繪製矩形(自定義UIView)
- (void)drawRect:(CGRect)rect
參數
rect
一個定義的須要繪製的矩形
討論
子類重寫這個方法若是他們確實要繪製他們自定義的視圖。若是子類是其餘視圖的容器那麼它不須要重寫這個方法。默認的實現不作任何事情。若是你自定義的視圖是 一個UIView子類,你不須要去調用它的父類實現。注意若是它的父類實現繪製而且不透明屬性爲YES那麼每個子類都須要填充矩形。
當這個方 法被調用,接收者能夠假定他的幀在座標上已經轉換,邊界矩形已經應用;全部他要作的就是繪製自定義的方法。使用 UIGraphicsGetCurrentContext方法去獲取當前圖形內容用來繪製,座標原點在左上角。不要保留圖片內容當他能夠被 drawRect:這個方法調用。
spa
hitTest:withEvent:
返回接收者視圖層次中最遠的派生(包括它自己)的特定的點。(觸摸事件)
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
參數
point
接收者座標系中的點
event
觸發這個方法的事件或者是若是這個方法被預調用就返回nil
返回值
一個視圖對象最遠的派生點。若是這個點位於接收者以外就返回nil
討論
這 個方法貫穿視圖的層次發送pointInside:withEvent: 消息到每個子視圖用來決定那個子視圖須要接收觸摸事件。若是pointInside:withEvent: 返回YES,那麼視圖的層次所有貫穿;不然視圖層次的分支是被否認的。你不太須要調用這個方法,可是你須要重寫它用來隱藏子視圖的觸摸事件。
若是視圖是隱藏的,禁止用戶交互的或者透明值小於01那麼這個方法不可用 對象
pointInside:withEvent:
返回一個布爾值指出接收者是否包含特定的點
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
參數
point
一個在接收者座標系內的點
event
這個方法的目標事件或者若是這個方法被預調用返回nil
返回值
若是點在接收者邊界內返回YES,不然返回NO事件
isDescendantOfView:
返回一個布爾值指出接收者是不是給定視圖的子視圖或者指向那個視圖
- (BOOL)isDescendantOfView:(UIView *)view
參數
view
一個視圖用來測試子視圖在視圖層次中的關係
返回值
若是接收者是視圖的子視圖就返回YES,或者視圖就是接收者;不然就是NO圖片
layoutIfNeeded
排列子視圖若是須要的話
- (void)layoutIfNeeded
討論
使用這個方法來關注子視圖的排列在繪製前it
layoutSubviews
排列子視圖
- (void)layoutSubviews
討論
當layoutIfNeeded被調用是子類用來重寫這個方法來排列子視圖。默認實現這個方法不作任何事情。event
sendSubviewToBack:
移動指定的子視圖到它相鄰視圖的後面
- (void)sendSubviewToBack:(UIView *)view
參數
view
一個子視圖用來移動到它後面去容器
setNeedsDisplay
控制接收者的邊界矩形被標記爲須要顯示
-(void)setNeedsDisplay
討論
默 認狀況下,視圖幾何圖形的改變自動重繪而不須要調用drawRect:方法。所以,你須要去請求視圖重繪當視圖的數據或者狀態改變的時候。從這個意義上來 說,向視圖發送setNeedsDisplay消息。任何UIView對象標記爲須要顯示後將會在應用程序循環中自動從新繪製。
setNeedsDisplayInRect:
標記接收者中的特定的矩形區域爲須要顯示,或者添加接收者現有的其餘無效區域
- (void)setNeedsDisplayInRect:(CGRect)invalidRect
參數
invalidRect
標記接收者的矩形區域爲無效的;他須要在接收者座標系中定義。
討論
默認狀況下,視圖幾何圖形的改變自動重繪而不須要調用drawRect:方法。所以,你須要去請求視圖重繪當視圖的數據或者狀態改變的時候。使用這個方法或者用setNeedsDisplay方法來標記視圖須要顯示的地方。
setNeedsLayout
設置當子視圖顯示的時候須要從新排列
- (void)setNeedsLayout
討論
若是你調用這個方法在下一個顯示方法之間,那麼layoutIfNeeded排列子視圖;不然將不會作任何事情
sizeThatFits:
計算並返回一個最好的適應接收者子視圖的大小
- (CGSize)sizeThatFits:(CGSize)size
參數
size
接收者首選的尺寸
返回值
一個新的大小用來適應接收者子視圖
討論
默認的實現返回大小參數 子類重寫這個方法用來返回特定視圖的大小。舉個粒子,UISwitch返回一個修正過的大小,UIImageView返回圖片的大小 這個方法並無改變接收者的大小
sizeToFit
調整大小並移動接收者視圖大小因此他包含了他的子視圖
- (void)sizeToFit
討論
這個方法使用sizeThatFits: 方法來決定大小。子類須要重寫sizeThatFits:用來計算正確的尺寸大小。默認的實現不作任何事情。
viewWithTag:
返回視圖的特定的標籤
- (UIView *)viewWithTag:(NSInteger)tag
參數
tag
一個用來在視圖中搜索的標籤
返回值
視圖在接收者層次中符合的標籤,接收者也包含在搜索中。搜索