【发布时间】:2014-07-17 06:57:16
【问题描述】:
我有一个允许用户拍照的应用程序,当拍照时(推送操作)应该导航到另一个视图控制器以允许用户丢弃、编辑或保存照片。我尝试在 didFinishPickingMediaWithInfo 方法中从相机视图控制器中分离出来,如下所示:
- (void) imagePickerController: (UIImagePickerController *) picker didFinishPickingMediaWithInfo: (NSDictionary *) info {
NSString *mediaType = [info objectForKey: UIImagePickerControllerMediaType];
UIImage *originalImage, *editedImage, *imageToSave;
// Handle a still image capture
if (CFStringCompare ((CFStringRef) mediaType, kUTTypeImage, 0) == kCFCompareEqualTo) {
editedImage = (UIImage *) [info objectForKey:
UIImagePickerControllerEditedImage];
originalImage = (UIImage *) [info objectForKey:
UIImagePickerControllerOriginalImage];
if (editedImage) {
imageToSave = editedImage;
} else {
imageToSave = originalImage;
}
// Save the new image to camera roll (will change later)
UIImageWriteToSavedPhotosAlbum (imageToSave, nil, nil , nil);
[self.capturedImages addObject: imageToSave];
_imageView.image = [self imageToSave:imageToSave];
}
CaptureViewController *capture = [[CaptureViewController alloc] init];
[self performSegueWithIdentifier:@"takePic" sender:self];
}
按下按钮时调用didFinishPickingMediaWithInfo方法,提示[_picker takePicture];这里是我的prepare for segue方法:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller
//this is just a temporary fix
if ([segue.identifier isEqualToString:@"takePic"]) {
CaptureViewController *destViewController = segue.destinationViewController;
}
}
segue 标识符是“takePic”,所以这不是问题。那太简单了。当我尝试执行 segue 时,什么也没有发生。相机仍然显示,我在imagePickerController's cameraOverlayView 中的两个按钮仍然存在(尽管它们不起作用)。非常感谢您的帮助!
【问题讨论】:
标签: ios objective-c uiviewcontroller segue