Я использую известный шаблон для создания UIImage
из UIView
:
+ (UIImage *) imageWithView:(UIView *)view
{
UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, [[UIScreen mainScreen] scale]);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage * img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return img;
}
Теперь моя проблема в том, что у меня очень сложное представление с большим количеством подпредставленийпоэтому процесс преобразования занимает около 3 + (!!!) секунд.
Я попытался разветвить его в другой поток, работающий в фоновом режиме, и он действительно улучшил производительность.
Единственная проблема в том, что, насколько я помню, не разрешается делать вещи, связанные с пользовательским интерфейсом, не в главном потоке.
Я ошибаюсь, и это совершенно нормально?Или - если я прав - что можно сделать, чтобы улучшить производительность?Есть ли другой метод, который я могу использовать в другом потоке, но работает ли он так же?
Большое спасибо!