簡體   English   中英

從UIViewController內部在iOS objective-c中繪制4.000個點或行

[英]Draw 4.000 Points or Lines in iOS objective-c from inside UIViewController

我有一個超過4.000 CGPoints的NSArray

[NSArray arrayWithObjects:
                   [NSValue valueWithCGPoint:CGPointMake(213, 30)], ...

並希望從我的UIViewController內部繪制它們之間的點或線。 iOS設備的最佳方式是什么? 日Thnx

聽起來你正在嘗試使用精靈或粒子生成? 在不知道更多細節的情況下,我只能給出一個通用的答案,但是lemme給了它一個機會。 讓我們假設這些點都是簡單的1像素彩色物品。 不需要漸變或路徑,只需“將像素設置為x,y設置為紅色/綠色/藍色”。

您應該可以輕松地同時操作4,000個CALayer對象:

CALayer *rootLayer = [[self view] layer]; // assumes self is a view controller
NSMutableArray *mSprites = [NSMutableArray array]; // to store references to the layers

for (int i = 0; i < 4000; i++) {
    CALayer *layer = [CALayer layer];
    NSAssert1(layer != nil, @"failed to create CALayer #%i", i);

    layer.backgroundColor = [UIColor colorWithRed:... green:... blue:... alpha:1.0].CGColor;
    layer.frame = CGRectMake(rand(), rand(), 1.0, 1.0);

    [mSprites addObject:layer];
    [rootLayer addSublayer:layer];
}

self.my4000SpritesProperty = mSprites;

然后,當需要操作它們時,進入self.my4000SpritesProperty的數組並更改圖層的框架或其他屬性。

對於4,000個元素,您應該看到Core Animation可接受的性能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM