首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >iOS 10摄像机视图显示API_Cancel_Title而不是取消

iOS 10摄像机视图显示API_Cancel_Title而不是取消
EN

Stack Overflow用户
提问于 2016-11-29 06:41:00
回答 5查看 3.8K关注 0票数 8

我正在开发一个使用iOS 10和相机拍照的应用程序。当相机视图打开,而不是取消按钮,有一个标题"API_CANCEL_TITLE“。当我捕捉整个标题的图片时,我想要的不是这个长标题,而是“取消”。我使用了应用程序本地化。我搜索了几个链接,但没有找到解决方案。

这里是屏幕截图:

这只发生在iOS 10中,在iOS 9中它将正确工作,以下是代码:

代码语言:javascript
运行
复制
- (IBAction)takePicturePressed:(UIButton *)sender
{

    UIImagePickerController *picker = [[UIImagePickerController alloc] init];
    picker.delegate = self;
    picker.allowsEditing = YES;
    picker.sourceType = UIImagePickerControllerSourceTypeCamera;
    [self presentViewController:picker animated:YES completion:nil];
}

请建议..。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2017-02-02 17:37:45

我已经使用BundleLocalization解决了同样的问题,并且跟踪了UIImagePickerController密钥,这是从一个包中得到的。

结果,它使用了4个“表”(在NSBundle术语中):

  • CameraUI (用于照相机)
  • PhotoLibraryServices (用于PhotoLibrary)
  • PhotoLibrary (用于PhotoLibrary)
  • PhotosUI (用于PhotoLibrary)

在我的例子中,为了本地化UIImagePickerController接口,我所要做的就是在项目中创建几个.strings文件并本地化它们。

下面是我见过的带有键的文件的内容(带有标准的英语值),它们都是自我解释的。

CameraUI.strings

代码语言:javascript
运行
复制
"PHOTO" = "PHOTO";
"AEAF_LOCK_TEXT" = "AE/AF LOCK";
"API_CANCEL_TITLE" = "Cancel";
"HDR_AUTO" = "Auto";
"HDR_ON" = "On";
"HDR_OFF" = "Off";
"TIMER_OFF_TEXT" = "Off";
"USE_PHOTO" = "Use Photo";

PhotoLibraryServices.strings

代码语言:javascript
运行
复制
"PHOTOS" = "Photos";
"CAMERA_ROLL" = "Camera roll";
"ALL_SCREENSHOTS" = "Screenshots";

PhotoLibrary.strings

代码语言:javascript
运行
复制
"CANCEL" = "Cancel";
"RETAKE" = "Retake";
"STREAM_SHARED_BY_ME_SUBTITLE" = "From You";
"STREAM_SHARED_BY_SUBTITLE" = "From %@";
"ALBUM_IMAGE_COUNT_FORMAT" = "%@ Photos";
"ALBUM_VIDEO_COUNT_FORMAT" = "%@ Videos";
"1_ALBUM_PHOTO" = "1 Photo";
"1_ALBUM_VIDEO" = "1 Video";
"ALBUM_TWO_TYPES_LABEL_COMMAS" = "%@, %@";

PhotosUI.strings

代码语言:javascript
运行
复制
"ALL_PHOTOS_IN_LIBRARY" = "Moments";
"PXUserCollectionsSectionTitle" = "My Albums";
"FULL_PHOTOS_GRID_ZOOM_LEVEL_TITLE" = "Moments";
"NO_PHOTOS_OR_VIDEOS" = "No Photos or Videos";
"EMPTY_ALBUM_LIST_MESSAGE_iPhone" = "You can take photos and videos using camera, or sync photos and videos onto your iPhone using iTunes";
票数 20
EN

Stack Overflow用户

发布于 2019-01-21 11:52:16

在Bundle的这个扩展中,您需要检查CameraUI中的tableName。使用该方法将"Api_Cancel_title“键的值更改为”取消“,使用您自己的本地化值,在这里您可以声明自己的值。

例如

英文"API_CANCEL_TITLE“=”取消“;

印度语"API_CANCEL_TITLE“=”रद्दकरना“;

法语"API_CANCEL_TITLE“= "Annuler";

代码语言:javascript
运行
复制
// MARK: - Bundle Extension

extension Bundle {

    @objc func specialLocalizedStringForKey(_ key: String, value: String?, table tableName: String?) -> String {
        let currentLanguage = CSLanguage.currentAppleLanguage()
        var bundle = Bundle.main
        if let path = Bundle.main.path(forResource: currentLanguage, ofType: "lproj") {
            bundle = Bundle.init(path: path)!
        } else {
            let basePath = Bundle.main.path(forResource: "Base", ofType: "lproj")
            bundle = Bundle.init(path: basePath!)!
        }
        if let name = tableName, name == "CameraUI"{
         let values = NSLocalizedString(key, comment: name)

         return values
        }
        if let name = tableName, name == "PhotoLibrary"{
         let values = NSLocalizedString(key, comment: name)

         return values
        }
        if let name = tableName, name == "PhotoLibraryServices"{
         let values = NSLocalizedString(key, comment: name)

         return values
        }
        if let name = tableName, name == "PhotosUI"
        {
         let values = NSLocalizedString(key, comment: name)

         return values
        }
        return bundle.specialLocalizedStringForKey(key, value: value, table: tableName)
    }
}
票数 4
EN

Stack Overflow用户

发布于 2017-01-07 05:17:58

我有一个方法,我知道这不是一个完美的解决方案,但是在得到一个完美的解决方案之前,我们可以使用以下方法:

使用自定义摄像机视图。如果设备版本为10或大于10,则使用条件管理它,然后执行自定义摄像机视图设置,否则使用默认摄像机视图。

通过使用自定义视图,API_Cancel_Title按钮隐藏了功能,其余功能运行良好。下面是我用来引用的链接:从自定义摄像机中移除“取消”按钮

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40859312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档