3
我不知道setneedsdisplay和uiviewcontentmoderedraw之間的區別,你什麼時候使用它們,是不是完全一樣的東西?UIViewContentModeRedraw vs setNeedsDisplay?
我不知道setneedsdisplay和uiviewcontentmoderedraw之間的區別,你什麼時候使用它們,是不是完全一樣的東西?UIViewContentModeRedraw vs setNeedsDisplay?
他們是不同的東西。 setNeedsDisplay
是一個動詞。用它來告訴一個視圖,它所查看的東西的狀態已經改變,所以它應該重繪(通過在下一次迭代運行循環中調用drawRect:方法)。
contentMode
是視圖的屬性。它不會導致視圖立即執行任何操作。它指定視圖如何處理其內容相對於其大小。 UIViewContentModeRedraw
是可能分配給此屬性的值。這意味着該視圖將通過重繪(通過調用自己的setNeedsDisplay
)來渲染大小更改。
如果您計劃動畫改變視圖的大小,UIViewContentModeRedraw
是一個昂貴的選擇,因爲它會嘗試在動畫過程中從頭開始重複繪製(而不是操作位圖副本)。