这里是我编写的用于在相机源中显示UIImagePickerController的代码。我刚刚在属性的标题中声明了myPhotopicker并保留它。在主代码文件中合成它。然后调用选择器我编写了下面的代码:
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
if (myPhotopicker==nil) {
myPhotopicker = [[UIImagePickerController alloc] init];
myPhotopicker.delegate = self;
}// create once!
myPhotopicker.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentModalViewController:myPhotopicker animated:NO];
}
在调用它时,应用程序会发生一些奇怪的事情。
有时候,当有很多应用程序在后台运行时(iPhone4),该应用程序将无法加载相机并导致应用程序崩溃。虽然它会毫无问题地加载CameraRoll / PhotoAlbums。
如果摄像机视图能够加载(当后台运行的应用程序较少时),点击摄像机视图上的“取消”按钮会导致应用程序重新启动(快速显示Default.png图像) ,并返回主页 - 就像我们启动应用程序时一样。)
我一直在试图弄清楚这个问题,但不知道该怎么做......请帮助..谢谢。
答案 0 :(得分:1)
这里是图像pickercontrol的完整代码,试试看solu。这里。
此致
Shyam Parmar
答案 1 :(得分:1)
而不是你的'创建一次'逻辑尝试每次创建和释放。
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
myPhotopicker = [[UIImagePickerController alloc] init];
myPhotopicker.delegate = self;
myPhotopicker.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentModalViewController:myPhotopicker animated:NO];
[myPhotopicker release];
}
您还应该实现委托,以便在取消时从视图中删除模态视图控制器(如果您还没有)。
您还应检查当前类是否符合UINavigationConrollerDelegate协议。