-1
 -(IBAction)TakePhoto {
picker = [[UIImagePickerController alloc]init];
picker.delegate = self;
[picker setSourceType:UIImagePickerControllerSourceTypeCamera];
[self presentedViewController:picker animated:YES completion:nil];
}

- (IBAction)ChooseExisting {
picker2 = [[UIImagePickerController alloc]init];
picker2.delegate = self;
[picker2 setSourceType:UIImagePickerControllerSourceTypeCamera];
[self presentedViewController:picker2 animated:YES completion:nil];
}

- (void) imagePickerController:(UIImagePickerController *)picker    didFinishPickingMediaWithInfo:(NSDictionary *)info {
image = [info objectForKey:UIImagePickerControllerOriginalImage];
[imageview setImage:image];
[self dismissViewControllerAnimated:YES completion:nil];

}
  - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
[self dismissViewControllerAnimated:YES completion:NULL];

当我尝试运行这个应用程序时,我

[self presentedViewController:picker animated:YES completion:nil];

以红色突出显示 ViewController 没有可见的@interface 声明该扇区呈现视图控制器:动画:完成:

我的 .h 文件是

@interface ViewController : UIViewController <UIImagePickerControllerDelegate,
UINavigationControllerDelegate> {
UIImagePickerController *picker;
UIImagePickerController *picker2;
UIImage *image;
IBOutlet UIImageView *imageview;

}

- (IBAction)TakePhoto;
- (IBAction)ChooseExisting;
4

1 回答 1

2

你有一个错字:presentedViewController而不是presentViewController就行

[self presentedViewController:picker animated:YES completion:nil];

(不止一处)

于 2013-07-15T07:21:41.760 回答