点击头像更换图片

功能如下:

1.点击头像,提示选择更换头像方式①相册 ②照相.

2.点击相册,实现通过读取系统相册,获取图片进行替换.

3.点击照相,通过摄像头照相,进行替换照片.

4.如果摄像头,弹出框警告.

代码如下:

1.通过UIActionSheet对象实现提示功能



//创建对象

UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:

@"提示" delegate:self cancelButtonTitle:@"取消"

destructiveButtonTitle:nil otherButtonTitles:@"相册",@"拍照", nil nil];

//在视图上展示

[actionSheet showInView:self.view];

[actionSheet release];

2.实现相应代理事件,代理UIActionSheetDelegate,方法如下

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:

(NSInteger)buttonIndex {

// 相册 0 拍照 1

switch (buttonIndex) {

case 0:

//从相册中读取

[self readImageFromAlbum];

break;

case 1:

//拍照

[self readImageFromCamera];

break;

default:

break;

}

}

3.实现从相册读取图片功能,代码如下
[objc] view plain copy print?在CODE上查看代码片派生到我的代码片

//从相册中读取

- (void)readImageFromAlbum {

//创建对象

UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];

//(选择类型)表示仅仅从相册中选取照片

imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

//指定代理,因此我们要实现UIImagePickerControllerDelegate,

UINavigationControllerDelegate协议

imagePicker.delegate = self;

//设置在相册选完照片后,是否跳到编辑模式进行图片剪裁。(允许用户编辑)

imagePicker.allowsEditing = YES;

//显示相册

[self presentViewController:imagePicker animated:YES completion:nil];

[imagePicker release];

}

4.实现拍照功能


- (void)readImageFromCamera {

if ([UIImagePickerController isSourceTypeAvailable:

UIImagePickerControllerSourceTypeCamera]) {

UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];

imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;

imagePicker.delegate = self;

imagePicker.allowsEditing = YES; //允许用户编辑

[self presentViewController:imagePicker animated:YES completion:nil];

[imagePicker release];

} else {

//弹出窗口响应点击事件

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"警告"

message:@"未检测到摄像头" delegate:nil cancelButtonTitle:nil

otherButtonTitles:@"确定", nil nil];

[alert show];

[alert release];

}

}

5.图片完成处理后提交,代理方法UIPickerControllerDelegate


//图片完成之后处理

- (void)imagePickerController:(UIImagePickerController *)picker

didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo {

//image 就是修改后的照片

//将图片添加到对应的视图上

[button setImage:image forState:UIControlStateNormal];

//结束操作

[self dismissViewControllerAnimated:YES completion:nil];

}

引入"http://blog.csdn.net/zfx5130/article/details/43203155"

你可能感兴趣的:(点击头像更换图片)