相关疑难解决方法(0)

在iOS 13上可以选择退出暗模式吗?

我的应用程序很大一部分由Web视图组成,以提供本机实现尚不可用的功能。Web团队没有计划为网站实施深色主题。因此,在iOS 13上支持深色模式的情况下,我的应用看起来会一半/一半。

是否可以选择不支持暗模式,以便我们的应用程序始终显示亮模式以匹配网站主题?

ios13 ios-darkmode

143
推荐指数
16
解决办法
5万
查看次数

如何在应用程序中使用自定义颜色轻松支持明暗模式?

假设我的应用程式中有自订颜色:

extension UIColor {
    static var myControlBackground: UIColor {
        return UIColor(red: 0.3, green: 0.4, blue: 0.5, alpha: 1)
    }
}
Run Code Online (Sandbox Code Playgroud)

我在自定义控件(和其他地方)中使用它作为控件的背景:

class MyControl: UIControl {
    override init(frame: CGRect) {
        super.init(frame: frame)

        setup()
    }

    required init?(coder: NSCoder) {
        super.init(coder: coder)

        setup()
    }

    private func setup() {
        backgroundColor = .myControlBackground
    }

    // Lots of code irrelevant to the question
}
Run Code Online (Sandbox Code Playgroud)

对于iOS 13,我希望我的自定义控件同时支持亮模式和暗模式。

一种解决方案是覆盖traitCollectionDidChange并查看颜色是否已更改,然后根据需要更新我的背景。我还需要提供浅色和深色。

因此,我更新了自定义颜色:

extension UIColor {
    static var myControlBackgroundLight: UIColor {
        return UIColor(red: 0.3, green: 0.4, blue: 0.5, alpha: …
Run Code Online (Sandbox Code Playgroud)

uikit uicolor ios uitraitcollection ios13

7
推荐指数
4
解决办法
2920
查看次数

如何通过darkMode iOS 13禁用更改statusBar textColor

我将whilebackgroundColor NavigationBardarktextColor用于statusBar,但是当用户将主题iOS更改为深色时,我的textColor statusBar更改为while,而while我的backgroundColor上NavigationBar则看不到任何东西。如何为我的应用禁用此更改?

uistatusbar ios13 ios-darkmode

5
推荐指数
3
解决办法
3512
查看次数

iOS13的白色问题与UIKit的textColor

在iOS13之前的应用程序布局无法正常工作。苹果在iOS13.1中最新的深色主题和浅色主题更新后,它们在现有应用程序中面临着许多问题。就像UITextField placeHolder和whiteColor以前是blackColor一样,UIDatePicker textColor和whiteColor以前是blackColor。

谁能帮我解决下面的DatePicker文本颜色问题。这是不可见的,因为whiteColor,TextColor应该为blackColor。

在此处输入图片说明

任何帮助表示赞赏。谢谢。

uidatepicker uitextfield ios swift ios13

4
推荐指数
2
解决办法
797
查看次数

我如何在不使用任何BaseUIViewController的情况下为所有UIViewController禁用暗模式?

您好,我读过Apple文章以禁用“暗模式”,因为我需要为所有UIViewController禁用并且我没有任何BaseUIViewController。

我如何在不使用任何BaseUIViewController的情况下为所有UIViewController禁用暗模式。我不想一遍又一遍地写下面的代码。

这个问题有方法解决吗?

override func viewDidLoad() {
    super.viewDidLoad()

    // Always adopt a light interface style.    
    overrideUserInterfaceStyle = .light
}
Run Code Online (Sandbox Code Playgroud)

xcode ios swift ios13

3
推荐指数
1
解决办法
3082
查看次数