iOS开发-照片选择

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

页面布局

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

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

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

 Demo实现

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

//选择头像
- (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];

}

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

@interface ViewController : UIViewController <UINavigationControllerDelegate,UIImagePickerControllerDelegate>

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

@end

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

- (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的方法为:

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

 最终效果演示:

时间: 2024-12-22 23:19:37

iOS开发-照片选择的相关文章

iOS 开发图片资源选择png格式还是jpg格式

对于iOS本地应用程序来说最简单的答案就是始终使用PNG,除非你有非常非常好的理由不用它. 当iOS应用构建的时候,Xcode会通过一种方式优化.png文件而不会优化其它文件格式.它优化得相当的好 他们之间有以下区别: 1.同个分辨率的图片,保存为png要比jpg大: 2.png图片有alpha通道,因此它支持图片透明,这点在ios开发中尤为重要:而jpg不支持透明 3.xcode会对png格式进行特殊的优化处理,而对于其他图片不做处理 总结一下有以下几点: 1.如果你的图片都是xcode本地就

iOS开发-数据选择UIPickerView

UIPickerView开发一般选择区域或者分级数据的时候会使用到,类似于前端中用到树状结构,不过PC上一般都是从上到下的分级,使用UIPickView是从左到右实现,可以动态的设置UIPickView中中行列数据,将结果显示在文本输入框里,简单的定义一下数据源.通过声明协议捕获事件,展示结果,比较简单,进入正题. 页面布局 页面布局比较简单,一个UIPickerView,一个文本框: 头文件中的声明,实现了UIPickerViewDelegate,UIPickerViewDataSource协

ios开发-教程选择

旧项目为oc项目 入门选择书籍 he.iOS.Apprentice 图文教程 只能看 The.iOS.Apprentice.2nd.Edition 之后都是swift介绍了 共五个教程 分张介绍 阅读教程参考了有道翻译... The iOS Apprentice 1 - Getting Started 一个名字为<The Bull's Eye game>的游戏介绍 1.学习了xCode的简单布局 2.Oc工程建立和结构 3.Main.storyboard中如何添加Button,Label,和绑

iOS开发--日期选择

展示效果 : (UIDatePicker & UIToolBar & UITextField 共同配合使用) 请问 : 实现的步骤是什么 ? 第一步,在程序视图加载完成之后,首先来创建一个 "日期选择器" 并将 "日期选择器" 设置为文本框的 "输入视图". 完成后再创建一个 "工具栏", 设置背景颜色及frame. 最后将 "工具栏" 设置为文本框的辅助输入视图. 特别注意 : 如果要将一

ios开发——实用技术篇Swift篇&amp;照片选择

照片选择 1 // MARK: - 选择照片 2 /*----- 选择照片 ------*/ 3 @IBAction func addImageButtonClick() 4 { 5 let actionSheet = UIActionSheet(title: "请选择", delegate: self, cancelButtonTitle: "取消", destructiveButtonTitle: nil, otherButtonTitles: "从相

iOS 开发之照片框架详解之二 —— PhotoKit 详解(上)

一. 概况 本文接着 iOS 开发之照片框架详解,侧重介绍在前文中简单介绍过的 PhotoKit 及其与 ALAssetLibrary 的差异,以及如何基于 PhotoKit 与 AlAssetLibrary 封装出通用的方法. 这里引用一下前文中对 PhotoKit 基本构成的介绍: PHAsset: 代表照片库中的一个资源,跟 ALAsset 类似,通过 PHAsset 可以获取和保存资源 PHFetchOptions: 获取资源时的参数,可以传 nil,即使用系统默认值 PHAssetCo

iOS开发之保存照片到系统相册(Photo Album)

iOS开发之保存照片到系统相册(Photo Album) 保存照片到系统相册这个功能很多社交类的APP都有的,今天我们简单讲解一下,如何将图片保存到系统相册(Photo Album). 创建UIImageView 创建UIImageView是为了将照片展示出来,我们是要把UIImage保存到系统相册(Photo Album): #define SCREEN [UIScreen mainScreen].bounds.size self.image = [UIImage imageNamed:@"i

做iOS开发我为什么弃用Objective-C而选择RubyMotion?

Hendrik Mans是德国汉堡市的一名程序员,他从事iOS开发已有很长一段时间了,起初他一直使用Objective-C语言进行编程而忽视了RubyMotion.从前他认为 RubyMotion只是个介于Ruby和Objective-C之间的交叉编译器,但后来他发现自己完全错了,现在Hendrik已彻底改变了自己的想法. RubyMotion 关于Ruby语言 Hendrik以前不仅从未用过 Ruby,还没少嘲笑过它.而现在Hendrik却认为,Ruby绝对是一种有着清晰漂亮语法的编程语言.R

iOS开发之保存照片到自己创建的相簿

iOS开发之保存照片到系统相册(Photo Album), 保存照片还可以用ALAssetsLibrary,ALAssetsLibrary提供了我们对iOS设备中的相片.视频的访问,是连接应用程序和相册之间访问的一个桥梁. 接下来,我们来详细讲解一下关于系统相册权限获取.保存照片.创建自己的相簿等等功能. 创建自己的相簿 这也是一种比较创建的作法,创建自己的相簿,然后把照片或者视频保存到自己的相簿中.相关代码如下: ALAssetsLibrary *library = [[ALAssetsLib