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

iOS- 选择图片(相机/相册)

2016-02-02 15:40 453 查看
#import "ViewController.h"

@interface
ViewController () <UIImagePickerControllerDelegate,UINavigationControllerDelegate,UIActionSheetDelegate>

@property (nonatomic,strong)
UIButton * imgBtn;

@end

@implementation ViewController

@synthesize imgBtn;

- (void)viewDidLoad

{

[super
viewDidLoad];

self.view.backgroundColor = [UIColor
whiteColor];

[self loadSet];

}

- (void) loadSet

{

imgBtn = [UIButton
buttonWithType:UIButtonTypeCustom];

imgBtn.frame =
CGRectMake(100,
100, 200,
200);

imgBtn.backgroundColor = [UIColor
grayColor];

[imgBtn
setTitleColor:[UIColor
blackColor] forState:UIControlStateNormal];

[imgBtn
setTitle:@"上传头像"
forState:UIControlStateNormal];

[imgBtn
addTarget:self
action:@selector(uploadImage)
forControlEvents:UIControlEventTouchUpInside];

[self.view
addSubview:imgBtn];

}

#pragma mark - 上传头像

- (void) uploadImage

{

UIActionSheet * sheet = [[UIActionSheet
alloc]initWithTitle:nil
delegate:self
cancelButtonTitle:@"取消"
destructiveButtonTitle:nil
otherButtonTitles:@"相机",@"相册",
nil];

[sheet showInView:self.view];

}

#pragma mark - sheet
的 代理方法

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

{

NSLog(@"%ld",buttonIndex);

if (buttonIndex ==
0)

{//相机

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

aImgPickerCtrl.delegate =
self;

[aImgPickerCtrl setAllowsEditing:YES];

if (![UIImagePickerController
isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]){

[aImgPickerCtrl setSourceType:UIImagePickerControllerSourceTypeSavedPhotosAlbum];

}

else

{

[aImgPickerCtrl setSourceType:UIImagePickerControllerSourceTypeCamera];

}

[self
presentViewController:aImgPickerCtrl animated:YES
completion:Nil];

}

if (buttonIndex ==
1)

{//相册

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

aImgPickerCtrl.sourceType =
UIImagePickerControllerSourceTypePhotoLibrary;

[aImgPickerCtrl setAllowsEditing:YES];

aImgPickerCtrl.delegate =
self;

}

}

#pragma mark - ImagePicker
代理方法

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

{

[picker dismissViewControllerAnimated:YES
completion:Nil];

UIImage *aImage = [info
objectForKey:UIImagePickerControllerEditedImage];

// NSData *imageData = UIImagePNGRepresentation(aImage);

[imgBtn
setImage:aImage forState:UIControlStateNormal];

[imgBtn
setTitle:@" "
forState:UIControlStateNormal];

}

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