我正在使用AQGridView在iPad上的網格中顯示我的數據。每個單元格都是UIView
子類,通常同時顯示18個單元格。UIView:沒有性能問題的圓角點
我想爲這些單元添加一個圓角,因此我設置了相關圖層的cornerRadius
屬性(即主要的UIView
和一個子視圖的圖層)。但是,這會導致性能問題,並且滾動不再流暢。當使用其他CALayer
屬性時,如shadowOpacity
,這不會發生。
是否有任何其他方式添加一個圓角(除了使用圖像)?或者我做錯了什麼?
我正在使用AQGridView在iPad上的網格中顯示我的數據。每個單元格都是UIView
子類,通常同時顯示18個單元格。UIView:沒有性能問題的圓角點
我想爲這些單元添加一個圓角,因此我設置了相關圖層的cornerRadius
屬性(即主要的UIView
和一個子視圖的圖層)。但是,這會導致性能問題,並且滾動不再流暢。當使用其他CALayer
屬性時,如shadowOpacity
,這不會發生。
是否有任何其他方式添加一個圓角(除了使用圖像)?或者我做錯了什麼?
當在包含UIImageView子視圖的視圖圖層上使用cornerRadius時,我也看到了主要的性能問題。光柵化解決了這個問題:view.layer.shouldRasterize = YES;
它可能是您放置setCornerRadius調用的位置。確保它在某個地方只被調用一次,而不是在drawRect方法中。
你幾乎爲我節省了我的時間! :) – 2011-12-15 07:23:53
我以前用過這個很成功。然而,在整個視角四捨五入會導致整個視圖質量的下降:https://skitch.com/franklinwebber/8q8c2/ios-simulator – burtlo 2012-03-29 19:21:12
但是,我發現問題在於光柵化的執行過於低解決了這個問題'myView.layer.rasterizationScale = [[UIScreen mainScreen] scale];' – burtlo 2012-03-29 19:28:51