Я использую UIImageView
для каждого из моих UITableViewCells
, как миниатюры. Мой код использует SDWebImage
для асинхронного захвата этих изображений из моего бэкэнд и загрузки их, а затем их кеширования. Это нормально работает.
My UIImageView
- это квадрат 50x50, созданный в Interface Builder. Его фон непрозрачен, белый цвет (такой же, как мой цвет фона UITableViewCell
, для производительности). Тем не менее, я бы хотел использовать гладкие углы для лучшей эстетики. Если я это сделаю:
UIImageView *itemImageView = (UIImageView *)[cell viewWithTag:100];
itemImageView.layer.cornerRadius = 2.5f;
itemImageView.layer.masksToBounds = NO;
itemImageView.clipsToBounds = YES;
Мой TableView падает около 5-6 кадров сразу, укупорки около 56 кадров в секунду во время быстрой прокрутки (что хорошо), но когда я перетащить и тянуть контроль обновления, она отстает немного и падает до примерно 40 кадров в секунду. Если я удалю строку cornerRadius
, все будет нормально и не будет отставать. Это было протестировано на iPod touch 5G с помощью инструментов.
Есть ли другой способ, которым я мог бы иметь округленные UIImageView
для моих ячеек и не пострадать от удара производительности? Я уже оптимизировал свой cellForRowAtIndexPath
, и я получаю 56-59 FPS при быстрой прокрутке без cornerRadius
.