Tableview прокручивает отсутствие производительности с помощью cornerRadius, какие альтернативы?
Я не могу найти решение для своей проблемы, поэтому я надеюсь, что некоторые эксперты могут мне помочь.
У меня есть таблица с большим количеством ячеек. Для каждой ячейки у меня есть изображение с закругленными углами:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UIImageView *exampleView;
...
exampleView.layer.cornerRadius = 5.f;
exampleView.clipsToBounds = YES;
[cell.contentView addSubview:exampleView];
...
}
В результате большой проблемы с прокруткой производительности - при использовании cornerRadius и clipsToBounds = YES, любых альтернативных решений?
(Изображение с закругленным угловым изображением содержит изображения, и если угол не установлен, прокрутка гладкая, поэтому проблема здесь)
РЕДАКТИРОВАТЬ № 1: уточнить, что я уже прочитал другие сообщения:
...
exampleView.frame = CGRectMake(5.0f,size.height-15.0f,30.0f,30.0f);
exampleView.layer.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.5].CGColor;
exampleView.layer.cornerRadius = 5.0f;
exampleView.layer.borderWidth = 0.3f;
exampleView.layer.borderColor = [UIColor blackColor].CGColor;
exampleView.layer.masksToBounds = NO;
exampleView.layer.shouldRasterize = YES;
//exampleView.clipsToBounds = NO;
[exampleView setImage: myImage ];
РЕДАКТИРОВАТЬ № 2:
Он, как myImage, притирается по скругленному угловому виду. Как сделать изображение подходящим для округленного угла? или я чего-то не хватает?
Ответы
Ответ 1
Просто измените следующую строку
exampleView.layer.masksToBounds = YES;
Чтобы закруглить углы в вашем изображенииView. См. Изображения ниже.
Прокрутка в виде таблицы - проблема с компоновкой представления. В дополнение к приведенным выше предложениям это, безусловно, поможет -
Задайте непрозрачное свойство свойства contentView UITableViewCell и свойство backgroundView. Перейти:
[cell.contentView setOpaque:YES];
[cell.backgroundView setOpaque:YES];
Это поможет уменьшить усилия компоновки представления на ранней стадии.
Существуют дополнительные, усовершенствованные методы, которые потребуют от вас использовать асинхронную обработку для обработки ваших изображений при прокрутке. Они могут быть чрезмерными, если работают вышеописанные методы.