2013-07-07 2 views
0

У меня есть пользовательская ячейка таблицы с изображением, которая имеет закругленные углы. Мой drawRect: код выглядит так:Нужна плавная анимация с закругленными углами uiimageview

- (void)drawRect:(CGRect)rect 
{ 
    [super drawRect:rect]; 
    _thumbnailImage.layer.cornerRadius = 5.0f; 
    _thumbnailImage.layer.masksToBounds = YES; 
    _thumbnailImage.layer.shouldRasterize = YES; 
    _thumbnailImage.layer.rasterizationScale = [[UIScreen mainScreen] scale]; 
} 

Но это исполнение ужасно. У меня около 40 кадров в секунду с этим кодом, и вид таблицы выглядит очень изменчивым. Если я удалю 2 строки:

- (void)drawRect:(CGRect)rect 
{ 
    [super drawRect:rect]; 
    _thumbnailImage.layer.shouldRasterize = YES; 
    _thumbnailImage.layer.rasterizationScale = [[UIScreen mainScreen] scale]; 
} 

Мой рабочий стол показывает 60 кадров в секунду, и он прокручивается очень плавно. Я знаю, что я делаю что-то неправильно, потому что Twitter и другие приложения имеют закругленные углы и гладкую прокрутку. Помогите мне пожалуйста.)

ответ

0

Моим решением было сделать закругленные углы ни для UImageView, а для UIImage перед использованием изображений в UITableViewCells. Теперь мои кадры scroll 50+, и это выглядит очень гладко.

0

Вы не должны устанавливать свойства слоя внутри drawRect. Попробуйте сделать это где-то в другом месте.

Смежные вопросы