當渲染在IOS均勻顏色的不透明非梯度圓形形狀,似乎有三種可能的技術:在iOS中渲染圈子的最佳技術是什麼?
使用相似圖片circle-icon.png
和[email protected]
。然後,可以執行以下代碼以使iOS自動呈現適當的大小:
UIImage *image = [UIImage imageNamed:@"circle-icon"];
self.closeIcon = [[UIImageView alloc] initWithImage:image];
self.closeIcon.frame = CGRectMake(300, 16, image.size.width, image.size.height);
呈現圓角並使用圖層,如下所示:
self.circleView = [[UIView alloc] initWithFrame:CGRectMake(10,20,100,100)];
circleView.alpha = 0.5;
self.circleView.layer.cornerRadius = 50;
self.circleView.backgroundColor = [UIColor blueColor];
使用原生的繪圖庫,喜歡的東西CGContextFillEllipseInRect
什麼是這3個方案的具體性能和維護的權衡?
使用全部三種編寫測試應用程序並通過Instruments運行。然後你會根據自己的需要知道確切的答案。 – rmaddy
這可能有助於指示您繪製了多少個圓,以及繪製了多大的範圍(因爲例如如果圓很大,將會有UIImage方法的內存權衡)。如果性能是關鍵,我建議你對方法進行基準測試。我希望UIImage是最快的,CG *方法使用最少的內存。 –
儘管我明白自己可以對其進行基準測試,但我想了解一些有關渲染的一般最佳實踐以及是否有已知的基準測試。 – zealoushacker