我正在使用Xcode 5.1,在iOS7.1和7.0.2上测试了代码。在设备上使用UIImagePickerController会出现两种情况导致应用程序崩溃:
1)当将
2)在
这是我的代码:
崩溃信息如下:
* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSProxy doesNotRecognizeSelector:scrollViewDidScroll:] called!'
注意:如果我将
只是为了澄清(可能无关),最初我将imagePicker声明为
感谢您的提前帮助。
更新:我试图将imagePickerController的调用放在我的应用程序根视图中,但仍会出现相同的错误消息。 我不应该加载任何可滚动的视图。
1)当将
allowsEditing
设置为YES时,我裁剪了一张图片并按“选择”按钮后,应用程序崩溃了。2)在
UIImagePickerController
中,当我从照片列表返回到相册列表并且我在照片列表的底部时,它会崩溃(无论是否允许编辑)。请注意,如果我向上滚动照片列表,则不会崩溃。这是我的代码:
- (IBAction)photoPickPressed:(id)sender {
if ([self isPhotoLibraryAvailable]) {
self.imagePicker = [[UIImagePickerController alloc] init];
self.imagePicker.delegate = self;
self.imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
self.imagePicker.allowsEditing = YES;
NSString *requiredMediaType = (__bridge NSString*)kUTTypeImage;
self.imagePicker.mediaTypes = [[NSArray alloc] initWithObjects:requiredMediaType, nil];
[self presentViewController:self.imagePicker animated:YES completion:nil];
}
}
#pragma mark - image picker delegates
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
[picker dismissViewControllerAnimated:YES completion:^(){
NSLog(@"finished image picking");
});
}
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
[picker dismissViewControllerAnimated:YES completion:nil];
}
崩溃信息如下:
* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSProxy doesNotRecognizeSelector:scrollViewDidScroll:] called!'
注意:如果我将
allowsEditing
设置为YES,则使用相机不会崩溃。 此外,它仅在真实设备上崩溃,而不是在模拟器上。只是为了澄清(可能无关),最初我将imagePicker声明为
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
我的程序在调用控制器时出现了崩溃。经过大量搜索,我发现有篇文章说可能是因为控制器被回收了,建议在类定义中声明它。所以现在我已经在类定义中声明了它:
@property (strong, nonatomic) UIImagePickerController *imagePicker;
感谢您的提前帮助。
更新:我试图将imagePickerController的调用放在我的应用程序根视图中,但仍会出现相同的错误消息。 我不应该加载任何可滚动的视图。