微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法在iOS的Xamarin DatePicker上获得时间价值

如何解决无法在iOS的Xamarin DatePicker上获得时间价值

我想同时使用日期和时间选择器。但是我无法从Xamarin DatePicker获取时间值,只是正确获取日期值即可。

我在下面分享代码

CustomDatePicker.cs

public class CustomDatePickerRenderer : DatePickerRenderer
{
    protected override void OnElementChanged(ElementChangedEventArgs<DatePicker> e)
    {
        base.OnElementChanged(e);
        if(Control != null)
        {
            UITextField entry = Control;
            UIDatePicker picker = (UIDatePicker)entry.InputView;
            picker.PreferredDatePickerStyle = UIDatePickerStyle.Wheels;
            picker.MinimumDate = Foundation.NSDate.Now;
            picker.MaximumDate = Foundation.NSDate.Now.AddSeconds(172799);
            picker.Mode = UIDatePickerMode.DateAndTime;
        }
    }
}

Xaml

<DatePicker x:Name="datePickerIOS"  DateSelected="datePickerIOS_DateSelected" ></DatePicker>

Xaml.cs

private void datePickerIOS_DateSelected(System.Object sender,Xamarin.Forms.DateChangedEventArgs e)
{
   var date = datePickerIOS.Date;
   // This date's time value always return  12:00:00 AM
}

enter image description here

解决方法

使用DateSelected="datePickerIOS_DateSelected"方法时,这是日期选择器的事件,您只能获得正确的日期。

您应该在customrenderer中获取正确的日期和时间,并将其返回到页面(可以使用MessagingCenter来实现)。

您可以参考此link

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。