2016-03-01 66 views
5

我計劃有一個視圖可以包含多個數百個CALayer對象內部和彼此相鄰。因此,這必須儘可能保持高性能。這些層不是很複雜。它們是不透明的,可以是文字或形狀圖層。這一層的數量必須得到解決。我會用這個CAConstraintsCALayer與層支持的NSView性能

從蘋果文檔:

重要提示:在OS X v10.8或更高版本,建議您減少層層次結構的使用,只使用層支持的觀點。在該版本的OS X中引入的層重繪策略允許您自定義層支持的視圖的行爲,並仍然獲得以前使用獨立層可能獲得的性能。

我知道CALayer對象比視圖更輕量級。我不確定爲什麼我們應該直接使用圖層支持的視圖而不是圖層。這是爲了便於與自動佈局一起使用還是有更多與性能/內存有關的聲明?我希望獲得最佳性能,因爲此代碼可以在OS X和iOS上運行。

我該走哪條路?自動佈局和分層支持NSViews或自定義CALayer層次結構?

+1

CAConstraints在iOS上不可用。聽起來他們說層次支持視圖更靈活,但可以給你相同的性能。 – beyowulf

+0

我應該找CAConstraints的可用性..謝謝! – mangerlahn

回答

0

我決定採用分層支持的視圖。迄今爲止表現非常好。這些視圖全部由stackViews佈局。