UITextView
是 iOS 开发中用于显示和编辑多行文本的控件。暗模式(Dark Mode)是 iOS 系统提供的一种用户界面主题,旨在减少屏幕亮度对眼睛的影响,并且在低光环境下更加舒适。
在暗模式下,UITextView
的背景色可能无法正确设置,这是因为 iOS 系统在暗模式下会对 UI 元素的默认颜色进行调整。
可以通过以下步骤来确保 UITextView
在暗模式下正确显示背景色:
overrideUserInterfaceStyle
:
在某些情况下,你可能需要强制应用使用特定的界面风格。可以通过设置 overrideUserInterfaceStyle
属性来实现:overrideUserInterfaceStyle
:
在某些情况下,你可能需要强制应用使用特定的界面风格。可以通过设置 overrideUserInterfaceStyle
属性来实现:UIColor
的 resolvedColorWithTraitCollection:
方法:
这个方法可以根据当前的 trait collection(包括暗模式)来解析颜色:UIColor
的 resolvedColorWithTraitCollection:
方法:
这个方法可以根据当前的 trait collection(包括暗模式)来解析颜色:import UIKit
class ViewController: UIViewController {
@IBOutlet weak var textView: UITextView!
override func viewDidLoad() {
super.viewDidLoad()
if #available(iOS 13.0, *) {
textView.backgroundColor = UIColor { traitCollection in
if traitCollection.userInterfaceStyle == .dark {
return .black
} else {
return .white
}
}
} else {
textView.backgroundColor = .white
}
}
}
通过以上方法,你可以确保 UITextView
在暗模式下正确显示背景色,提升用户体验。
领取专属 10元无门槛券
手把手带您无忧上云