drawRect 立由,layoutSubViews

drawRect:和layoutSubview的區(qū)別

開宗明義,

drawRect:和layoutSubview的區(qū)別點有很多序厉。但是锐膜,比較關(guān)心的是用法上的區(qū)別:
雖然平時要自定義繪圖比較少,畢竟有UI切圖弛房,但是要自定義繪圖(比如道盏,CALayer)時二者中只能用drawRect,這是二者用法上最大的區(qū)別。


1.drawRect:(方便視圖重繪)

顯示(setNeedsDisplay)---------->重繪矩形(drawRect,前提rect不為0)------------------->拿到畫板-------------->畫圖:

1文捶、 若使用UIView繪圖荷逞,只能在drawRect:方法中獲取相應(yīng)的contextRef并繪圖。如果在其他方法中獲取將獲取到一個invalidate 的ref并且不能用于畫圖种远。drawRect:方法不能手動顯示調(diào)用顽耳,必須通過調(diào)用setNeedsDisplay 或 者 setNeedsDisplayInRect,讓系統(tǒng)自動調(diào)該方法射富。

2膝迎、若使用calayer繪圖限次,只能在drawInContext: 中(類似魚drawRect)繪制柴灯,或者在delegate中的相應(yīng)方法繪制。同樣也是調(diào)用setNeedDisplay等間接調(diào)用以上方法

3赠群、若要實時畫圖,不能使用gestureRecognizer店枣,只能使用touchbegan等方法來掉用setNeedsDisplay實時刷新屏幕

2.layoutSubViews:(方便數(shù)據(jù)計算速警,彌補autoresizing功能的不足)

布局------------->布局子視圖------------------->處理子視圖的數(shù)據(jù)

內(nèi)部調(diào)用用,外部更新frame時长豁,建議寫新的方法忙灼,而不是用setNeedsLayout,畢竟layoutSubViews有很多地方會調(diào)用


內(nèi)部調(diào)用

1.drawRect:

sizeToFit(不應(yīng)該重寫)后自動調(diào)用----------->sizeThatFits(可重寫钝侠,真正起作用是這個)
sizeToFit同時也自動調(diào)用--------------------->drawRect(自動布局的雛形)

通過設(shè)置contentMode屬性值為UIViewContentModeRedraw酸舍。那么將在每次設(shè)置或更改frame的時候自動調(diào)用drawRect:。(從這個功能上講忽舟,有點等同于layoutSubViews)

2.:

setNeedsLayout----------->layoutIfNeeded + (刷新標記)----------->layoutSubviews

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末淮阐,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子泣特,更是在濱河造成了極大的恐慌,老刑警劉巖勒叠,帶你破解...
    沈念sama閱讀 223,126評論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件膏孟,死亡現(xiàn)場離奇詭異,居然都是意外死亡颗搂,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評論 3 400
  • 文/潘曉璐 我一進店門丢氢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來先改,“玉大人,你說我怎么就攤上這事貌嫡。” “怎么了岛抄?”我有些...
    開封第一講書人閱讀 169,941評論 0 366
  • 文/不壞的土叔 我叫張陵狈茉,是天一觀的道長。 經(jīng)常有香客問我蹭秋,道長扰付,這世上最難降的妖魔是什么羽莺? 我笑而不...
    開封第一講書人閱讀 60,294評論 1 300
  • 正文 為了忘掉前任洞豁,我火速辦了婚禮,結(jié)果婚禮上族跛,老公的妹妹穿的比我還像新娘。我一直安慰自己长酗,他們只是感情好,可當我...
    茶點故事閱讀 69,295評論 6 398
  • 文/花漫 我一把揭開白布夺脾。 她就那樣靜靜地躺著茉继,像睡著了一般。 火紅的嫁衣襯著肌膚如雪菲茬。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,874評論 1 314
  • 那天婉弹,我揣著相機與錄音终吼,去河邊找鬼。 笑死际跪,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的姆打。 我是一名探鬼主播,決...
    沈念sama閱讀 41,285評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼歇盼,長吁一口氣:“原來是場噩夢啊……” “哼评抚!你這毒婦竟也來了豹缀?” 一聲冷哼從身側(cè)響起邢笙,我...
    開封第一講書人閱讀 40,249評論 0 277
  • 序言:老撾萬榮一對情侶失蹤侍匙,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后想暗,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,760評論 1 321
  • 正文 獨居荒郊野嶺守林人離奇死亡杨箭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,840評論 3 343
  • 正文 我和宋清朗相戀三年互婿,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片慈参。...
    茶點故事閱讀 40,973評論 1 354
  • 序言:一個原本活蹦亂跳的男人離奇死亡刮萌,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出着茸,到底是詐尸還是另有隱情,我是刑警寧澤元扔,帶...
    沈念sama閱讀 36,631評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站途事,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏尸变。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,315評論 3 336
  • 文/蒙蒙 一召烂、第九天 我趴在偏房一處隱蔽的房頂上張望娃承。 院中可真熱鬧怕篷,春花似錦酗昼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,797評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽叠荠。三九已至,卻和暖如春蝙叛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背借帘。 一陣腳步聲響...
    開封第一講書人閱讀 33,926評論 1 275
  • 我被黑心中介騙來泰國打工淌铐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人腿准。 一個月前我還...
    沈念sama閱讀 49,431評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像吐葱,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子弟跑,可洞房花燭夜當晚...
    茶點故事閱讀 45,982評論 2 361

推薦閱讀更多精彩內(nèi)容