ios - UIDocumentPickerViewController 按钮看起来已禁用但有效 - 为什么?

标签 ios uidocumentpickervc files-app

我正在使用 UIDocumentPickerViewController 将图像导出到 iOS 11 中的文件应用程序。选择器出现,我可以为文件选择一个目的地。我收到文件已移动的回调,我可以在文件中看到它们,所以看起来工作正常。然而,用户界面是错误的——添加和取消按钮看起来被禁用了,但它们实际上工作正常。如果我只是在共享表中使用“保存到文件”,按钮看起来就不会这样。

这是我的代码:

UIDocumentPickerViewController *docPicker = 
[[UIDocumentPickerViewController alloc] initWithURLs:self.assetURLs inMode:UIDocumentPickerModeExportToService];

docPicker.delegate = self;
[vc presentViewController:docPicker animated:YES completion:nil];

我尝试过的事情:
1) 我已经尝试了 Move 和 Export 类型
2) 我启用了 iCloud 功能(所有三项:键值、文档和 CloudKit)——体验上没有差异 [事实上,即使没有这些设置,代码也能正常工作,尽管文档另有说明])

这是 UI 外观的屏幕截图。如您所见,UI 表示会将项目添加到所选目录(事实上,如果我点击“添加”,它就会这样做):

enter image description here

任何人都知道如何让按钮显示为蓝色并看起来已启用?我没有在网上找到任何我可以尝试的示例代码——如果有人有指点,我可以尝试看看它是否与我的配置或代码有关。

最佳答案

我不太喜欢像批准的答案中建议的那样临时更改全局外观。您只需重置 UIDocumentPickerViewController 的外观,条形按钮就会恢复为原来的蓝色。

if #available(iOS 11.0, *) {
    UINavigationBar.appearance(whenContainedInInstancesOf: [UIDocumentBrowserViewController.self]).tintColor = nil
}

关于ios - UIDocumentPickerViewController 按钮看起来已禁用但有效 - 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48716228/

相关文章:

xcode - UIDocumentPickerViewController 取消父 View Controller

ios - 从 iCloud 驱动器获取文件而不下载?

iOS - 将(100 多个)文件导出到 Google 云端硬盘

iphone - 在 Safari 中加载 URL,但在 UIWebview 中不加载

c# - 当用户点击 ios/xamarin 通知中心的通知时触发什么事件

objective-c - 无法使用 UIDocumentPicker 导入页面和编号文档

ios - "On my iPhone"选项在模拟器中不可见。

ios - NSURLSession performSegueWithIdentifier 未运行

ios - IOS应用只能支持iOS7吗?

ios - 通过 URL Scheme 或其他方式打开 iOS 11 文件应用