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

ios 打开图片库和相机选择图片界面修改为简体中文

2015-08-06 15:57 459 查看
ios 使用UIImagePickerController 打开图片库和相机选择图片界面为英文描述,修改为简体中文的方法:

在info.plist中添加Localizations设置item为Chinese (simplified)。

这样打开图片库或拍照的时候就可以显示简体中文了

转自 http://blog.csdn.net/jinglijun/article/details/8030544
使用UIImagePickerController打开图片库和相机选择图片修改头像的主要方法如下,

声明:这个是iphone版本的,ipad版本的使用这个不行,因为iPad要用UIPopover才可以。

效果图:



[html] view
plaincopy

- (void)viewDidLoad

{

[super viewDidLoad];

//获取Documents文件夹目录

NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *documentPath = [path objectAtIndex:0];

//指定新建文件夹路径

NSString *imageDocPath = [documentPath stringByAppendingPathComponent:@"ImageFile"];

//创建ImageFile文件夹

[[NSFileManager defaultManager] createDirectoryAtPath:imageDocPath withIntermediateDirectories:YES attributes:nil error:nil];

//保存图片的路径

self.imagePath = [imageDocPath stringByAppendingPathComponent:@"image.png"];

}

-(void)viewWillAppear:(BOOL)animated{

[super viewWillAppear:YES];

//根据图片路径载入图片

UIImage *image=[UIImage imageWithContentsOfFile:self.imagePath];

if (image == nil) {

//显示默认

[changeImg setBackgroundImage:[UIImage imageNamed:@"user_photo@2x.png"] forState:UIControlStateNormal];

}else {

//显示保存过的

[changeImg setBackgroundImage:image forState:UIControlStateNormal];

}

}

- (void)dealloc {

[imagePath release];

[changeImg release];

[super dealloc];

}

- (IBAction)changeImage:(id)sender {

UIActionSheet *myActionSheet = [[UIActionSheet alloc]

initWithTitle:nil

delegate:self

cancelButtonTitle:@"取消"

destructiveButtonTitle:nil

otherButtonTitles: @"从相册选择", @"拍照",nil];

[myActionSheet showInView:self.view];

[myActionSheet release];

}

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

switch (buttonIndex) {

case 0:

//从相册选择

[self LocalPhoto];

break;

case 1:

//拍照

[self takePhoto];

break;

default:

break;

}

}

//从相册选择

-(void)LocalPhoto{

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

//资源类型为图片库

picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

picker.delegate = self;

//设置选择后的图片可被编辑

picker.allowsEditing = YES;

[self presentModalViewController:picker animated:YES];

[picker release];

}

//拍照

-(void)takePhoto{

//资源类型为照相机

UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypeCamera;

//判断是否有相机

if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]){

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

picker.delegate = self;

//设置拍照后的图片可被编辑

picker.allowsEditing = YES;

//资源类型为照相机

picker.sourceType = sourceType;

[self presentModalViewController:picker animated:YES];

[picker release];

}else {

NSLog(@"该设备无摄像头");

}

}

#pragma Delegate method UIImagePickerControllerDelegate

//图像选取器的委托方法,选完图片后回调该方法

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo{

//当图片不为空时显示图片并保存图片

if (image != nil) {

//图片显示在界面上

[changeImg setBackgroundImage:image forState:UIControlStateNormal];

//以下是保存文件到沙盒路径下

//把图片转成NSData类型的数据来保存文件

NSData *data;

//判断图片是不是png格式的文件

if (UIImagePNGRepresentation(image)) {

//返回为png图像。

data = UIImagePNGRepresentation(image);

}else {

//返回为JPEG图像。

data = UIImageJPEGRepresentation(image, 1.0);

}

//保存

[[NSFileManager defaultManager] createFileAtPath:self.imagePath contents:data attributes:nil];

}

//关闭相册界面

[picker dismissModalViewControllerAnimated:YES];

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