UIImagePickerController 关闭后导航栏无响应

nav bar nonresponsive after UIImagePickerController dismissed

仅在 iOS 7 上,我的应用程序中的导航栏在使用 UIImagePickerController 然后关闭后不响应任何触摸(无论是否选择了图片)。导航栏下方的屏幕功能正常,但现在无法在应用程序中导航返回;用户卡在这个屏幕上。

我正在从代码中启动 UIImagePickerController,尽管应用程序的其余部分在情节提要中进行了布局。

UIImagePickerController *mediaUI = [[UIImagePickerController alloc] init];
mediaUI.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
mediaUI.mediaTypes = [NSArray arrayWithObject:(NSString *) kUTTypeImage];
mediaUI.allowsEditing = NO;
mediaUI.delegate = self;
[controller presentModalViewController: mediaUI animated: YES];

在此先感谢您的帮助。

希望您正确地执行了这些步骤!

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

    [picker dismissViewControllerAnimated:YES completion:NULL];

}

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {

    [picker dismissViewControllerAnimated:YES completion:NULL];

}

当你打电话时

 UIImagePickerController *picker = [[UIImagePickerController alloc] init];
 picker.delegate = self;
 picker.allowsEditing = YES;
 picker.sourceType = UIImagePickerControllerSourceTypeCamera;

[self presentViewController:picker animated:YES completion:NULL];

干杯!

我注意到日志显示 "Unbalanced calls to begin/end appearance transitions for" 启动控制器。当它出现时,我立即从另一个控制器启动图像选择器控制器。这在 iOS 8 上工作正常,但在 iOS 7 上需要延迟。我在短暂延迟后通过调用我的方法修复了它:

[self performSelector:@selector(takePicture) withObject:nil afterDelay:.1];