В моем приложении, когда я использую UIImagePickerController, я изменяю размер изображения, полученного из средства выбора, чтобы уменьшить его с очень большого размера, с которого он начинается.На iPhone и iPod Touch он работает нормально и имеет небольшую задержку.Однако, поскольку экран iPad намного больше, он занимает НАМНОГО, НАМНОГО дольше, поскольку я изменяю его размер в соответствии с пикселями.
Это мой код:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
CGRect screenBounds = [[UIScreen mainScreen] bounds];
CGFloat screenScale = [[UIScreen mainScreen] scale];
CGSize screenSize = CGSizeMake(screenBounds.size.width * screenScale, screenBounds.size.height * screenScale);
UIGraphicsBeginImageContext(screenSize);
[image drawInRect:CGRectMake(0,0,screenSize.width,screenSize.height)];
newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSUserDefaults *currentDefaults = [NSUserDefaults standardUserDefaults];
[currentDefaults setObject:UIImagePNGRepresentation(newImage) forKey:@"newImageKey"];
[currentDefaults synchronize];
[popoverController dismissPopoverAnimated:YES];
[picker dismissModalViewControllerAnimated:YES];
}
Есть ли способ изменить его размербыстрее или как-то иначе, чтобы пользователь не заметил задержки при изменении размера больших изображений системой?
Спасибо!