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
@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
相关文章推荐
- iOS开发中@property的属性weak nonatomic strong readonly等介绍
- 深入了解ios系统机制
- iOS 获取手机IP地址
- iOS 应用程序内切换语言 中英文切换
- iOS应用内购买优化
- iOS 的 XMPPFramework 简介
- 【转】iOS保持界面流畅的技巧
- iTunes Connect程序被拒,如何申诉?
- IOS创建项目相关证书配置
- __attribute__ 详解 //定义编译器宏
- iOS开发之如何在用户删除应用后保持一些数据
- ios内购的一些常见错误(不定期添加)
- 超酷的iOS动画集合
- IOS开发之delegate与简单案例
- IOS常用正则表达式
- 2016年苹果开发者账号申请
- iOS 文档移植
- IOS中定时器NSTimer的开启与关闭
- IOS-OC之高级组件PickerView之一
- ios开发网上demo