[英]DateTimePicker in Xamarin.Forms iOS
我正在使用 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}"/>
謝謝你。 問候
當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);
}
我已經設法做到了,但是當我點擊完成按鈕時我無法格式化日期和時間,有人知道怎么做嗎?
這是我的代碼:
using System;
using App.iOS;
using CoreGraphics;
using Foundation;
using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
[assembly: ExportRenderer(typeof(DatePicker), typeof(CustomDatePickerRender))]
namespace App.iOS
{
public class CustomDatePickerRender : DatePickerRenderer
{
public CustomDatePickerRender()
{
}
protected override void OnElementChanged(ElementChangedEventArgs<DatePicker> e)
{
base.OnElementChanged(e);
if (Control != null)
{
var dateTimePicker = (UIDatePicker)Control.InputView;
dateTimePicker.Mode = UIDatePickerMode.DateAndTime;
NSDateFormatter dateFormat = new NSDateFormatter();
dateFormat.DateFormat = "dd/MM/yyyy HH:mm";
var text = (UITextField)Control;
text.Text = dateFormat.ToString(dateTimePicker.Date);
}
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.