我是iphone开发的新手。我正在我的应用程序中实现UIImagePickerController。当didFinishPickingMediaWithInfo委托被调用时,也就是当点击选择按钮时,它会有一些延迟。我的代码如下
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
LGViewHUD* hud = [LGViewHUD defaultHUD];
hud.activityIndicatorOn=YES;
hud.bottomText=@"Login..";
[hud showInView:picker.view];
[self performSelectorInBackground:@selector(pickerFunction:) withObject:info];
}
- (void) pickerFunction :(NSDictionary *)info
{
profilePicture.image = [info objectForKey:@"UIImagePickerControllerEditedImage"];
[imgPicker dismissModalViewControllerAnimated:YES];
}
我正试图在选择按钮上进行hud操作,但它只是在一段时间后才出现。有人能给我一个实现的方法吗。
提前谢谢。。
我认为对此没有什么可做的。
我自己也遇到过这个问题,滞后似乎来自UIImagePickerController调用委托方法"didFinishPickingMediaWithInfo"。一旦采用了这种方法,一切都会很快运行。在"didFinishPickingMediaWithInfo"中输入什么代码并不重要。滞后时间发生在调用该方法之前。
我甚至尝试过这个,它除了解除控制器之外什么也没做。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
[self dismissModalViewControllerAnimated:YES];
}
并且仍然需要几秒钟的时间来关闭UIImagePickerController。
我在这个委托中发生了类似的延迟。事实证明,在图像/视频被压缩之前,didFinishPickingMediaWithInfo
不会被调用,这可能需要几秒钟的时间,具体取决于它是什么。