应用程序中的iOS 13黑暗主题设置不会更改警报控制器呼叫电话号码的样式

时间:2019-12-02 09:53:52

标签: swift system-calls uialertview ios13 ios-darkmode

在我的应用中,我只想使用灯光模式。在AppDelegate didFinishLaunchingWithOptions中,我使用:

if #available(iOS 13.0, *) {
             UIWindow.appearance().overrideUserInterfaceStyle = .light
         }

,效果很好。但是当我使用时:

  if let url = URL(string: "tel://\(alertItems[indexPath.row - 1].phoneNumber)"), UIApplication.shared.canOpenURL(url) {
    UIApplication.shared.open(url)
出现带有系统设置主题的

警报控制器(例如黑色)。 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

代替此:

if #available(iOS 13.0, *) {
        UIWindow.appearance().overrideUserInterfaceStyle = .light
}

您可以执行以下操作:将新密钥UIUserInterfaceStyle添加到Info.plist,并将其值设置为Light。并检查alert controller处于灯光模式。

<key>UIUserInterfaceStyle</key>
<string>Light</string>

如果在整个应用程序中都处于亮/暗模式,无论用户如何设置,都可以通过将密钥UIUserInterfaceStyle添加到Info.plist文件并将其值设置为Light或{ {1}}。