我必須創建我自己的UITableView的部分標題視圖,頂部邊框,底部和背景顏色。自定義UITableViewSectionHeader - 圖片vs圖畫
我的問題是,什麼是最好的(或最正確的)方式來完成這個?
- 使用圖像?
- 或者用Quartz 2D繪製邊框和背景顏色?
- 是否存在性能差異?
謝謝! (對不起,我的英語)
我必須創建我自己的UITableView的部分標題視圖,頂部邊框,底部和背景顏色。自定義UITableViewSectionHeader - 圖片vs圖畫
我的問題是,什麼是最好的(或最正確的)方式來完成這個?
謝謝! (對不起,我的英語)
如果你所需要的只是邊框和背景顏色,那麼繪製它們肯定會成爲一種方法。如果您將它們與圖像進行比較,性能會更好。雖然UIImages
在iPhone中進行了高度優化,但自定義繪圖將提供更好的性能。
最簡單的方法是使用CALayers。爲您的視圖提供所需的背景色,並添加兩個圖層以充當您的邊框。假設你想單個像素邊框的例子(黑色邊框,白色背景)將是:
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 24)];
headerView.backgroundCoor = [UIColor whiteColor];
CALayer *topLine = [CALayer layer];
topLine.frame = CGRectMake(0, 0, 320, 1);
topLine.backgroundColor = [UIColor blackColor].CGColor;
[headerView.layer addSublayer:topLine];
// repeat for bottom line
另一種方式是在視圖層上使用的BORDERCOLOR /邊框寬度屬性,但你需要執行一些技巧(掩蓋或調整視圖太大)隱藏邊框。
圖層非常強大,您可以輕鬆地添加漸變,形狀和蒙版而不會與CG繪圖混淆。
Tks! CALayer使用漸變可能會對此項目產生很大幫助。 – rodolfoag
Tks!基於你的回答,我決定使用Quartz。性能是這個項目的一個重要問題。 – rodolfoag