您的位置:首页 > 移动开发 > IOS开发

iOS 调用相机拍照和选择图库图片 设置头像

2015-07-01 11:05 841 查看
不多说,直接上代码

#import "ViewController.h"

@interface
ViewController ()<UIImagePickerControllerDelegate,UIActionSheetDelegate>

@property(nonatomic,strong)UIButton *btn;

@property(nonatomic,strong)UIActionSheet *actionSheet;

@end

@implementation ViewController

- (void)viewDidLoad {

[super
viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

_btn = [UIButton
buttonWithType:UIButtonTypeSystem];
_btn.frame =
CGRectMake(80,
200, 200,
200);

_btn.backgroundColor = [UIColor
yellowColor];

[_btn
addTarget:self
action:@selector(btnClick:)
forControlEvents:UIControlEventTouchUpInside];

[_btn
setTitle:@"点我"
forState:UIControlStateNormal];

[self.view
addSubview:_btn];
}

- (void)btnClick:(UIButton *)sender
{

[self
openActionSheetFunc];
}

//调用ActionSheet
- (void)openActionSheetFunc
{

//判断设备是否有具有摄像头(相机)功能

if ([UIImagePickerController
isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{

_actionSheet = [[UIActionSheet
alloc]initWithTitle:@"选择图像"
delegate:self
cancelButtonTitle:@"取消"
destructiveButtonTitle:nil
otherButtonTitles:@"拍照",@"从相册选择",
nil];
}

else
{

_actionSheet = [[UIActionSheet
alloc]initWithTitle:@"选择图像"
delegate:self
cancelButtonTitle:@"取消"
destructiveButtonTitle:nil
otherButtonTitles:@"从相册选择",
nil];
}

_actionSheet.tag =
100;

//显示提示栏

[_actionSheet
showInView:self.view];
}

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (actionSheet.tag ==
100)
{

NSUInteger sourceType =
UIImagePickerControllerSourceTypePhotoLibrary;

if ([UIImagePickerController
isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
switch (buttonIndex)
{
case
0:

//来源:相机

sourceType =
UIImagePickerControllerSourceTypeCamera;
break;
case
1:

//来源:相册

sourceType =
UIImagePickerControllerSourceTypePhotoLibrary;
break;
case
2:
return;
}
}

else
{
if (buttonIndex ==
2)
{

return;
}

else
{

sourceType =
UIImagePickerControllerSourceTypeSavedPhotosAlbum;
}
}

//跳转到相机或者相册页面

UIImagePickerController *imagePickerController = [[UIImagePickerController
alloc]init];
imagePickerController.allowsEditing  =
YES;
imagePickerController.sourceType = sourceType;
imagePickerController.delegate =
self;

[self
presentViewController:imagePickerController
animated:YES
completion:nil];
}
}

//pickerController的代理
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary
*)info
{

[picker dismissViewControllerAnimated:YES
completion:nil];

UIImage *image = [info
objectForKey:UIImagePickerControllerOriginalImage];

[_btn
setBackgroundImage:image forState:UIControlStateNormal];
}

a934

- (void)didReceiveMemoryWarning {

[super
didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.
}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息