iOS 呼叫系統相簿拍照時顯示英文問題

weixin_34375233發表於2017-12-14

在呼叫系統相簿拍照的時候,在選擇照片的時候,發現用的都是英文,效果如下:

我們想把那個Retake 和Use Photo 改為對應的漢字,先來一種最笨的方法,最後在來個高階的方法,最笨的辦法當然是我們找到這兩個按鈕,修改他們的文字,改成我們希望的文字,這個是可以隨便設定的,不叨叨 直接上程式碼!

方法一

在下面的代理方法找到對應的按鈕

-(void)navigationController:(UINavigationController*)navigationController willShowViewController:(UIViewController*)viewController animated:(BOOL)animated{
UIView *PLCropOverlay = [self findView:viewController.view withName:@"PLCropOverlay"];
[PLCropOverlay setValue:@"選擇" forKey:@"_defaultOKButtonTitle"];
UIView *PLCropOverlayBottomBar = [self findView:PLCropOverlay withName:@"PLCropOverlayBottomBar"];
UIView *PLCropOverlayPreviewBottomBar = [self findView:PLCropOverlayBottomBar withName:@"PLCropOverlayPreviewBottomBar"];
UIButton *userButton = PLCropOverlayPreviewBottomBar.subviews.lastObject;
UIButton *cancleButton = PLCropOverlayPreviewBottomBar.subviews.firstObject;
[userButton setTitle:@"選擇" forState:UIControlStateNormal];
[cancleButton setTitle:@"取消" forState:UIControlStateNormal];

}

// 通過名字找到對應的檢視

-(UIView *)findView:(UIView *)aView withName:(NSString *)name {
if ([name isEqualToString:NSStringFromClass(aView.class)]){
    return aView;
}
for (UIView *view in aView.subviews) {
    if ([name isEqualToString:NSStringFromClass(view.class)]) {
    return view;
}
}
return nil;}
複製程式碼

其中那個userButton 和cancleButton對應那個選擇按鈕和取消按鈕,具體要設定什麼文字就看你們的產品汪了

效果如下:

###方法二

如果沒有特別要求,那就用系統的文字,需要在info.plist 裡面填加一個key表示app 使用系統的語言,keyLocalized resources can be mixed 設定為YES 就可以了

最終的效果如下:

相關文章