//下面是代码是基本使用流程
//定义一个按钮和一个选择的图形展示
@property (strong, nonatomic) UIImageView *headImage;
@property (strong, nonatomic) UIButton *Button;
@property (strong, nonatomic) UIActionSheet *actionSheet;
@synthesize actionSheet = _actionSheet;
- (void)viewDidLoad {
[super viewDidLoad];
[self creatButtonAndimageView];
}
- (void)creatButtonAndimageView{
CGFloat H=self.view.bounds.size.height;
CGFloat W=self.view.bounds.size.width;
_headImage=[[UIImageView alloc]initWithFrame:CGRectMake(W/3, H/6, W/3,W/3 )];
_headImage.image=[UIImage imageNamed:@"111.png"];
[self.view addSubview:_headImage];
_leftButton=[UIButton buttonWithType:UIButtonTypeCustom];
_leftButton.frame=CGRectMake(W/10, H/6+20+W/3, W*4/5, 40);
[_leftButton setTitle:@"从本地获取图片" forState:UIControlStateNormal];
[_leftButton addTarget:self action:@selector(clickPickImage:) forControlEvents:UIControlEventTouchUpInside];
// [_leftButton setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
[_leftButton setBackgroundColor: [UIColor colorWithRed:46.0/255.0 green:150.0/255.0 blue:253.0/255.0 alpha:1]];
[self.view addSubview:_leftButton];
_leftButton.layer.masksToBounds=YES;
_leftButton.layer.cornerRadius=5;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
- (void)callActionSheetFunc{
if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]){
self.actionSheet = [[UIActionSheet alloc] initWithTitle:@"选择图像" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles:@"拍照", @"从相册选择", nil, nil];
}else{
self.actionSheet = [[UIActionSheet alloc] initWithTitle:@"选择图像" delegate:self cancelButtonTitle:@"取消"destructiveButtonTitle:nil otherButtonTitles:@"从相册选择", nil, nil];
}
self.actionSheet.tag = 1000;
[self.actionSheet showInView:self.view];
}
// Called when a button is clicked. The view will be automatically dismissed after this call returns
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
if (actionSheet.tag == 1000) {
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 == 1) {
return;
} else {
sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
}
}
// 跳转到相机或相册页面
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
imagePickerController.delegate = self;
imagePickerController.allowsEditing = YES;
imagePickerController.sourceType = sourceType;
[self presentViewController:imagePickerController animated:YES completion:^{
}];
}
}
//选中的图片之后付给自己的imageview
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[picker dismissViewControllerAnimated:YES completion:^{
}];
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
self.headImage.image = image;
}
//点击button启动事件
- (void)clickPickImage:(UIButton *)sender
{
[self callActionSheetFunc];
}
//通过上述方法拿到相片之后再做上传处理