我想讓UITableView
看上去很像是它的樣式爲,但有一些細微差別(如不同的顏色和圓角較短的半徑)。行具有可變的高度。我想爲我的應用程序中的大多數表格視圖控制器使用此自定義樣式。查看Twitter,Groupon,& GitHub發佈示例應用程序。自定義UITableViewCell backgroundView和selectedBackgroundView
我該怎麼做?
我想這樣做像做的。 套backgroundView
& selectedBackgroundView
既能的UIGroupTableViewCellBackground
實例(的UIView
的子類)。 UIGroupTableViewCellBackground
是其層的委託並實現drawLayer:
其層中的內容設定爲CGImageRef
。
我敢肯定蘋果根據Quartz 2D Programming Guide : Creating a Bitmap Graphics Context,也建議使用
CGLayer
考慮,而不是繪製成位圖圖形上下文創建此CGImageRef
。這對於這個應用程序更好?另外,表視圖的所述第一小區添加陰影帶倒圓的角部,以使用
UIImageView
其頂部(它它設置爲一個可調整大小(寬度方向)UIImage
具有半透明PNG文件)。爲什麼它去做?這不是很慢的滾動嗎?爲什麼不把它畫到第一個單元的CGImageRef
?也許性能下降並不顯着,並且通過圖像更容易使單元看起來正確。我將單元格的CGImageRef
保存到磁盤並使用預覽將其打開。它仍然有圓角。此疊加視圖只是添加頂部陰影。下面是運行我的設備與選定的表視圖「顏色混合層」的核芯顯卡儀器工具的屏幕截圖。你可以看到頂部的影子是混合的。而且,看起來最後一個單元格中還有一些混合。
在選中第三小區(不混合)。選擇第一個或最後一個單元格的行爲相同,但不會擺脫已混合的重疊視圖。