我想调用UIImagePickerController在iPhone 3GS上选择一个电影,当电影被选中时,我只是解雇它,并以1.0秒的配置延迟模态呈现MyViewController。我注意到的是10%的时间,MyViewController上的presentModalViewController什么都不做,而它的工作时间是90%。我想了解为什么这种行为和补救措施是什么。下面是示例代码:UIImagePickerController dismissModalViewController
(无效)imagePickerController:(的UIImagePickerController *)选择器didFinishPickingMediaWithInfo:(的NSDictionary *)信息 {
NSURL * videoURL =零;
NSString * mediaType = [info objectForKey:UIImagePickerControllerMediaType];
if ([mediaType isEqualToString:@"public.movie"])
{
videoURL = [info objectForKey:UIImagePickerControllerMediaURL];
}
picker.delegate =零;
[[picker parentViewController] dismissModalViewControllerAnimated:YES];
[self performSelector:@selector(launchMyViewController :) withObject:nil
afterDelay:1.0];
}
- (空)launchMyViewController:(ID)目标文件 {
MyViewController *myCtrl = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:[NSBundle mainBundle] controller:self];
[self presentModalViewController:myCtrl animated:YES];
[myCtrl release];
NSLog(NSStringFromClass([self.modalViewController class]));
[path release];
}
我已经把的NSLog语句来打印self.modalViewController类名和我注意到,当myCtrl未被模态触发时,10%的时间,self.modalViewController.class是UIImagePickerController。否则,self.modalViewController.class是MyViewController。我想知道为什么行为如此不可预测,以及采取什么样的解决方法或其他方式来达到我想要的目的。