Я хочу создать пузыри, как в почтовом приложении на iphone. Но большое количество пузырьков (> 10) сильно замедляет прокрутку.
Несколько слов о моей реализации: я создаю собственный вид и добавляю к нему "пузыри". Вот как я создаю каждый «пузырь»:
...
self.gradient = [[CAGradientLayer alloc] init];
self.gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor colorWithRed:223.0f/255.0f
green:232.0f/255.0f
blue:247.0f/255.0f
alpha:1.0f] CGColor],
(id)[[UIColor colorWithRed:189.0f/255.0f
green:207.0f/255.0f
blue:240.0f/255.0f
alpha:1.0f] CGColor], nil];
[self.layer insertSublayer:gradient atIndex:0];
// Border for "bubble"
[self.layer setBorderWidth:1.0f];
[self.layer setBorderColor:[UIColor colorWithRed:120.0f/255.0f
green:134.0f/255.0f
blue:214.0f/255.0f
alpha:1.0f].CGColor];
[self.layer setCornerRadius:12.0f];
[self.layer setMasksToBounds:YES];
// Label for text of "bubble"
self.label = [[UILabel alloc] init];
[self.label setText:text];
[self.label setBackgroundColor:[UIColor clearColor]];
[self.label setTextAlignment:UITextAlignmentCenter];
[self.label setFont:[UIFont systemFontOfSize:14.0f]];
[self addSubview:label];
...
Когда я комментирую добавление градиента и границы - все работает отлично!
Заранее спасибо!
P.S. Мне было рекомендовано добавить следующий код, но это не увеличило производительность.
[self.layer setShouldRasterize:YES];
[self.layer setRasterizationScale:[UIScreen mainScreen].scale];