UIImagePickerViewController


1.首先创建一个ViewBased-Application,命名为ImagePickerDemo

如下图所示,添加UINavigationControllerDelegate和UIImagePickerControllerDelegate两项protocol.

使用UIImagePickerController,就必须实现UINavigationControllerDelegate这个protocol,因为调用过程中会出现NavigationBar,如果没实现,也不会说运行不了。只是Xcode会直接就给你一个warning.

UIImagePickerViewController_第1张图片

2.如上图所示,还需要声明两个指针变量,UIImagePickerController * 是调用图片的核心类。

UIImageView * 是指向nib文件中Image View 用的。

@property语句就不多说了。

打开ImagePickerDemoViewController.xib,然后连接插座变量imgView到UIImageView
UIImagePickerViewController_第2张图片

3.在ImagePickerDemoViewController.m中,添加@synthesize imgPickerCtrller;

在- (void)dealloc 中添加[imgPickerCtrller release];

4.在- (void) viewDidLoad()中添加如下代码
UIImagePickerViewController_第3张图片

上代声明了一个UIImagePickerController的实例,然后用之前声明的imgPickerCtrller指向它,并设置delegate委托对象为自身。因为该实例默认类型为UIImagePickerControllerSourceTypePhotoLibrary,

总共有三种类型,一种是摄像头的,另外一种是保存用的,有需要可以查帮助。


5.捕获触摸事件,当触摸点在image view 中,则进入选取图片的界面,

[self presentModalViewController:self.imgPickerCtrller animated:YES]这句是进入相册选图片的语句。
UIImagePickerViewController_第4张图片

6.如果只实现以上代码,已经可以进入选取图片了。但选完之后该图片并不显示,实现以下代码则会显示在image view 中。这是UIImagePickerControllerDelegate中的一个方法
UIImagePickerViewController_第5张图片

此时编译运行,点击屏幕,则进入一下画面。清楚看到有个Navigation Bar,这就是之前说的不实现该protocol会有warning的原因。
UIImagePickerViewController_第6张图片

选完图。就会退出选择相册界面。在image view中显示图片.
UIImagePickerViewController_第7张图片

注意.当图片尺寸有可能不对,有可能被拉伸或压缩。想要正确按比例现实的话,修改一下一下方法即可。
UIImagePickerViewController_第8张图片

你可能感兴趣的:(图片)