drawRect方法的引數詳解

2021-07-14 22:41:04 字數 483 閱讀 4177

建立自定義檢視,在繼承uiview之後,最關鍵的就是重寫drawrect方法了。

這裡暫不介紹具體怎樣重寫這個方法來實現想要的效果,重點介紹drawrect方法所帶的cgrect型別的引數的作用。

drawrect接受的唯一引數就是"髒矩形",髒即需要更新的意思。這個引數給定的區域是self真正需要更新的區域。

順便再說一下框架矩形(frame)和邊界矩形(bounds)的區別。它們的型別都是cgrect,區別在於,frame定義了檢視的大小和位置,這個位置是相對于父檢視(superview)的;bounds則是檢視相對於自身的座標空間的位置和大小,這意味著origin的值一直都是(0.0,0.0)。這樣一來,似乎邊界矩形的存在沒有任何意義,因為frame的size和bounds的size都是等同的,而且bounds的origin永遠沒有變化,那麼我只需要知道frame值不就行了?其實不然,儘管邊界矩形的size通常與框架矩形相同,但是在檢視旋轉的時候,框架矩形將改變大小和位置,而邊界則保持不變。

Canvas 的drawRect 幾個引數理解

昨天寫了乙個view檢視,在上面畫了乙個矩形,這個檢視的最後效果如圖 主要 如下 package com.view import com.example.testsql.r import android.content.context import android.graphics.bitmap i...

drawRect中一些方法的呼叫

常會遇到一種情況,在drawrect中用上下文繪製了乙個圖形,當執行時發現除了自己的圖形外,其他的背景都是黑的。這是因為沒有給其他的區域設定顏色 設定方法 void drawrect cgrect rect 上下文只有在drawrect中獲得才有作用,其他方法中獲取值為空 drawrect中繪圖,可...

C 方法引數 out ref param 詳解

ref和out都對函式引數採用引用傳遞形式 不管是值型別引數還是引用型別引數,並且定義函式和呼叫函式時都必須顯示生命該引數為 ref out形式。兩者都可以使函式傳回多個結果。ref 類似於 php 中在函式引數前的 兩者區別 兩種引數型別的設計思想不同,ref的目的在於將值型別引數當作引用型引數傳...