将UIImage传递到第二个视图控制器会延迟转换。

| 我正在使用UIImagePickerController从我的相册中选择图像。选择图像后,将图像传递到第二个视图控制器,并将其显示在UIImageView中。请参见下面的代码: 第一视图控制器:
- (IBAction)selectPhoto
{
    imagePicker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
    [self presentModalViewController:self.imagePicker animated:YES];
}

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{    
    UploadViewController *uploadViewController = [[UploadViewController alloc] initWithNibName:@\"UploadViewController\" bundle:nil];
    [uploadViewController setImage:[info objectForKey:@\"UIImagePickerControllerOriginalImage\"]];

    [picker pushViewController:uploadViewController animated:YES];
}
第二个视图控制器:
- (void)viewDidLoad
{
    [super viewDidLoad];

    // Set the image view image
    imageView.image = self.image;
}
代码可以完成工作,但是,当我从图像选择器推送到第二个视图控制器时,它在过渡时会滞后。 理想情况下,我希望平稳过渡,但是如果它只等了半秒钟或之后才平稳运行,我会很高兴。 有谁能解释为什么会发生这种情况,以及如何/是否可以解决? 谢谢。     
已邀请:
延迟可能来自渲染图像,您可以尝试让UploadViewController的初始视图包含活动微调器,然后在viewDidAppear方法中实际设置图像,该方法应在动画完成后调用。     
尝试一下,这里引入计时器是为了提供delay(0.5sec),
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{    
    [NSTimerscheduledTimerWithTimeInterval:0.5 target:self selector:@selector(timerAction:) userInfo:info repeats:NO];
}


-(void)timerAction:(NSTimer *)timer
{
  UploadViewController *uploadViewController = [[UploadViewController alloc] initWithNibName:@\"UploadViewController\" bundle:nil];
    [uploadViewController setImage:[[timer userInfo]objectForKey:@\"UIImagePickerControllerOriginalImage\"]];

    [picker pushViewController:uploadViewController animated:YES];
   [uploadViewController release];
}
    

要回复问题请先登录注册