【发布时间】:2021-02-25 20:35:51
【问题描述】:
我在弄清楚如何正确更新我现有的自定义渲染器时遇到了一些困难,我在 iOS 上的 DatePicker 以不同的首选样式显示 DatePicker,如本文所述(尽管它适用于 swift)@987654321 @
我的渲染器如下:
public class BorderlessDatePickerRenderer : DatePickerRenderer
{
public override void LayoutSubviews()
{
base.LayoutSubviews();
var element = Element as BorderlessDatePicker;
Control.BorderStyle = UITextBorderStyle.None;
if (element.Date.Year == 1900) {
Control.Text = "";
}
}
protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
{
base.OnElementPropertyChanged(sender, e);
var element = Element as BorderlessDatePicker;
if (Control != null && element.Date.Year == 1900) {
Control.Text = "";
}
}
BorderlessDatePicker 本身只是一个扩展 DatePicker Xamarin.Forms 控件的空类。我的烦恼的根源是我不确定如何在我的 Control 对象上正确设置 PreferredDatePickerStyle,因为 Control 是引擎盖下的 UITextField 而不是 UIDatePicker。本质上,我想做的不是使用似乎是iOS 14默认的compact样式显示日期选择器,而是希望将其显示为wheels,而不是执行以下操作:
PreferredDatePickerStyle = UIDatePickerStyle.Wheels;
【问题讨论】:
标签: xamarin.forms custom-renderer