首页 > 代码库 > ios中改变UIImagePickerController页面的button的文字为中文

ios中改变UIImagePickerController页面的button的文字为中文

今天调用系统的照相和本地相册,编辑图片的功能,但是按钮都是英文,我想改为中文的  取消,选择,重拍

需要改变两种方法

1. UIImagePickerController页面的Cancel和Choose按钮以及截取中得重拍按钮,想改成中文

本来打算通过获取这些按钮的指针进行设置的,最后发现可以在工程中直接 project-->info-->Localization--->language中add一个简体中文就可以了

参考:http://www.cocoachina.com/bbs/read.php?tid=132828

2.定制当然也有方法

首先通过递归的方法不断地在self.view的hierarchy中不断遍历,直到查找到这个view,获取其指针进行操作

-(UIView *)findView:(UIView *)aView withName:(NSString *)name{
    Class cl = [aView class];
    NSString *desc = [cl description];
    if ([name isEqualToString:desc])
        return aView;
    for (UIView *view in aView.subviews) {
        Class cll = [view class];
        NSString *stringl = [cll description];
        if ([stringl isEqualToString:name]) {
            return view;
        }
    }    
    return nil;
}
 
-(void)addSomeElements:(UIViewController *)viewController{
    UIView *PLCameraView = [self findView:viewController.view withName:@"PLCameraView"];
    UIView *PLCropOverlay = [self findView:PLCameraView withName:@"PLCropOverlay"];
    UIView *bottomBar = [self findView:PLCropOverlay withName:@"PLCropOverlayBottomBar"];
    UIImageView *bottomBarImageForSave = [bottomBar.subviews objectAtIndex:0];
    UIButton *retakeButton=[bottomBarImageForSave.subviews objectAtIndex:0];
    [retakeButton setTitle:@"重拍"  forState:UIControlStateNormal];
    UIButton *useButton=[bottomBarImageForSave.subviews objectAtIndex:1];
    [useButton setTitle:@"保存" forState:UIControlStateNormal];
    UIImageView *bottomBarImageForCamera = [bottomBar.subviews objectAtIndex:1];
    UIButton *cancelButton=[bottomBarImageForCamera.subviews objectAtIndex:1];
    [cancelButton setTitle:@"取消" forState:UIControlStateNormal];
}
 
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
    [self addSomeElements:viewController];
}





ios中改变UIImagePickerController页面的button的文字为中文