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

时间:2020-03-02 17:14:11

标签: ios datepicker nativescript nativescript-vue

enter image description here

就像您可以看到在日期选择器中选择的值为白色。如果我更改日期,它将不会显示。这是iOS暗模式的屏幕截图。有没有一种方法可以覆盖默认样式。我尝试了以下方法:

If(content && username == currentuser)
{
   $content = acf content;
}

enter image description here

这是背景为黑色时的外观

2 个答案:

答案 0 :(得分:2)

使用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
        }
    }
}

答案 1 :(得分:0)

问题是我无法覆盖Datepicker的颜色。我也无法覆盖模式的背景色。 我需要将<page>标签添加到我的模式中。在那里,我可以添加一个类,以便在黑暗模式下更改背景颜色。所以看起来像这样:

<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>