iPhone通过UIImagePickerController选择图片

来源:互联网 发布:linux到底有什么用 编辑:程序博客网 时间:2024/05/18 02:54

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

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

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

 

 

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

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

@property语句就不多说了。

打开ImagePickerDemoViewController.xib,然后连接插座变量imgView到UIImageView

 

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

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

 

4.在- (void) viewDidLoad()中添加如下代码

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

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

 

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

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

 

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

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

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

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

 

原创粉丝点击