【问题标题】:DateTimePicker in Xamarin.Forms iOSXamarin.Forms iOS 中的 DateTimePicker
【发布时间】:2018-10-22 21:01:24
【问题描述】:

我正在使用 Xamarin Forms 创建一个应用程序,我想在 iOS https://developer.apple.com/documentation/uikit/uidatepicker 中实现这样的日期时间选择器

我已经找到了如何实现 TimePicker 或 DatePicker,但不是全部合二为一。有没有办法将它添加到 Xamarin Forms? 有没有办法在 Xamarin Forms 中创建它?

 <DatePicker
   x:Name="inicioDatePicker"
   Format="D"
   DateSelected="OnDateSelected"
   Date="{Binding InicioDatePicker}"/>

谢谢。问候

【问题讨论】:

标签: ios xamarin xamarin.forms datepicker datetimepicker


【解决方案1】:

当 Picker 的值发生变化时,你应该添加 Event。参考以下代码

//...
using ObjCRuntime;
//...
protected override void OnElementChanged(ElementChangedEventArgs<DatePicker> e)
{
    base.OnElementChanged(e);
    if (Control != null)
     {
       UIDatePicker dateTimePicker = (UIDatePicker)Control.InputView;

       dateTimePicker.Mode = UIDatePickerMode.DateAndTime;
       dateTimePicker.AddTarget(this, new Selector("DateChanged:"), UIControlEvent.ValueChanged);
       NSDateFormatter dateFormat = new NSDateFormatter();
       dateFormat.DateFormat = "dd/MM/yyyy HH:mm";
       var text = (UITextField)Control;
       text.Text = dateFormat.ToString(dateTimePicker.Date);            
     }
}

[Export("DateChanged:")]
public void DateChanged(UIDatePicker picker)
{
   NSDateFormatter dateFormat = new NSDateFormatter();
   dateFormat.DateFormat = "dd/MM/yyyy HH:mm";
   var text = (UITextField)Control;
   text.Text = dateFormat.ToString(picker.Date);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-22
    • 2016-01-11
    • 1970-01-01
    • 1970-01-01
    • 2017-08-30
    • 2017-10-16
    • 2020-05-18
    • 1970-01-01
    相关资源
    最近更新 更多