如何覆盖日期选择器的 iOS 暗模式样式

How to override iOS dark mode style for datepicker

如您所见,日期选择器中的选定值是白色的。如果我更改日期,它将不可见。这是 iOS 深色模式的屏幕截图。有没有办法覆盖默认样式。我尝试了以下方法:

.date-picker {
   color: #000000;

   .ns-dark & {
     color: #000000;
   }
}

这是黑色背景时的样子

使用 UIViewController 的 UIUserInterfaceStyle 属性 overrideUserInterfaceStyle 改变控制器的界面风格。

class TestViewController: UIViewController {

    @IBOutlet weak var datePicker: UIDatePicker!

    override func viewDidLoad() {
        super.viewDidLoad()

        if #available(iOS 13.0, *) {
            overrideUserInterfaceStyle = .dark
            datePicker.backgroundColor = .black
        } else {
            datePicker.backgroundColor = .white
        }
    }
}

问题是我无法覆盖日期选择器的颜色。我也无法覆盖模态的背景颜色。 我需要将 <page> 标签添加到我的模式中。在那里我可以添加一个 class 这样我就可以在黑暗模式下更改背景颜色。所以它看起来像这样:

<Page class="background-color-modal">
    <DockLayout class="modal">
          <FlexboxLayout class="timeDateDetails">
               <time-modal :selected-time="selectedTime" 
                           :time="$props.time" @updateTime="updateTime"/>
          </FlexboxLayout>
     </DockLayout>
</Page>

<style lang="scss" scoped>

    .background-color-modal {
        background-color: $white;
        color: $dark;

        .ns-dark & {
            background-color: $dark-dark;
            color: $dark-white
        }
    }

    .modal {
        background-color: $white;
        color: $dark;

        .ns-dark & {
            background-color: $dark-dark;
            color: $dark-white
        }
    }
</style>