博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS开发-照片选择
阅读量:7234 次
发布时间:2019-06-29

本文共 1600 字,大约阅读时间需要 5 分钟。

本来想做个注册登录的表单的,想想还是先做个简单的头像选择,一般情况下不管是内部管理系统还是面向公众的互联网公司,注册登录是免不了的,用户头像上传是免不了的,尤其是企业用户,上传了自己的图片才感觉自己买的系统是比较值的。iOS开发中上传图片还是比较简单的,通过UIImagePickerController和协议就很容易的实现的图片的选择和上传。

页面布局

首先看下视图,一个按钮,一个标签和一个ImageView:

界面很简单,头文件中声明一下UIImageView:

1
@property 
(weak, 
nonatomic
IBOutlet 
UIImageView *imageView;

 Demo实现

上传按钮的代码,具体方法已经注释:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//选择头像
- (
IBAction
)chooseImage:(
id
)sender {
    
//实例化照片选择控制器
    
UIImagePickerController *pickControl=[[UIImagePickerController alloc]init];
     
    
//设置照片源
    
[pickControl setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
     
    
//设置协议
    
[pickControl setDelegate:
self
];
     
    
//设置编辑
    
[pickControl setAllowsEditing:
YES
];
     
    
//选完图片之后回到的视图界面
    
[
self 
presentViewController:pickControl animated:
YES 
completion:
nil
];
     
 
}

设置协议,需要头文件中声明一下:

1
2
3
4
5
@interface 
ViewController : UIViewController <UINavigationControllerDelegate,UIImagePickerControllerDelegate>
 
@property 
(weak, 
nonatomic
IBOutlet 
UIImageView *imageView;
 
@end

之后需要在返回的时候显示图片使用协议中的imagePickerController方法:

1
2
3
4
5
6
7
8
9
10
11
12
- (
void
)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(
NSDictionary 
*)info{
     
//    UIImage *image=info[@"UIImagePickerControllerOriginalImage"];
     
     
UIImage *image=info[@
"UIImagePickerControllerEditedImage"
];
     
    
[
self
.imageView setImage:image];
     
    
//选取完图片之后关闭视图
    
[
self 
dismissViewControllerAnimated:
YES 
completion:
nil
];
    
}

 需要注意的,如果需要不需要编辑,获取image的方法为:

1
UIImage *image=info[@
"UIImagePickerControllerOriginalImage"
];

 最终效果演示:

本文转自Fly_Elephant博客园博客,原文链接:http://www.cnblogs.com/xiaofeixiang/p/4245230.html,如需转载请自行联系原作者

你可能感兴趣的文章
Android平台调用Web Service:演示样例
查看>>
${ }的用法
查看>>
【JavaScript】 2013年度最强AngularJS资源合集
查看>>
使用boost中的property_tree实现配置文件
查看>>
数据结构导论第一遍
查看>>
Thread+Handler 线程 消息循环(转载)
查看>>
Objective-C中的Block回调模式
查看>>
Linux 搭建SVN server
查看>>
strcpy_s与strcpy的比較
查看>>
fscanf()函数具体解释
查看>>
JS魔法堂:关于元素位置和鼠标位置的属性
查看>>
jquery.validate+jquery.form提交的三种方式
查看>>
分形之树(Tree)
查看>>
[HTML/CSS]盒子模型,块级元素和行内元素
查看>>
HDU1698_Just a Hook(线段树/成段更新)
查看>>
学习selenium所须要具备的技术
查看>>
shell程序之逐行读取一文件里的參数且使用此參数每次运行5分钟
查看>>
高质量c c++编程
查看>>
[詹兴致矩阵论习题参考解答]习题4.1
查看>>
SQL Server 索引和表体系结构(非聚集索引)
查看>>