如何使 UIDatePicker 标签在 Xamarin.ios 中不可见但仍具有交互性?
How to make a UIDatePicker label invisible still interactive in Xamarin.ios?
我需要在我的 Xamarin.ios 项目中以编程方式打开一个 UIDatePicker。不幸的是,这是不允许的,也没有 public api。但是我从 Open UIDatePicker programmatically in iOS 14 得到了一些本地代码的技巧
我正在尝试实施这个技巧:
我设法在我的标签上添加了一个 UIDatePicker。这是我的代码:
lblFromDate.UserInteractionEnabled = false;
var datePicker = new UIDatePicker(new CGRect(x: lblFromDate.Frame.X, y:
lblFromDate.Frame.Y, width: lblFromDate.Frame.Width, height: lblFromDate.Frame.Height));
datePicker.Mode = UIDatePickerMode.Date;
datePicker.ValueChanged += DatePicker_ValueChanged;
Add(datePicker);
但我想以某种方式隐藏日期选择器,但仍然需要它是交互式的,以便在点击标签(实际上是点击日期选择器)时,日期选择器会动画化。
第二个问题是我想在点击任何日期时关闭日历模式。但我发现只有价值改变的事件。是否可以通过编程方式关闭日历模式,这对我有很大帮助。这是点击日期选择器后弹出的日历模式:
第一个问题:
您可以将日期选择器的 PerferredDatePickerStyle 设置为紧凑型,并将日期选择器上的标签颜色设置为白色以覆盖日期选择器。还设置标签的
启用为假。
代码如下:
mydatapicker.PerferredDatePickerStyle=UIDatePickerStyle.Compact;
mylabel.BackgroundColor=UIColor.White;
//.....
要更改文本,请添加以下代码:
mydatapicker.valuechanged+=Datepicker_Valuechanged;
private void Datepicker_Valuechanged(object sender,EventArgs e)
{mylabel.Text=mydatapicker.Date.ToString();}
关于你的第二个问题
恐怕没有合适的方法可以在点击任何日期时关闭日历模式。
希望这些对您有所帮助。
1.In 故事板,将标签的启用设置为 false。
2.before点击
3.click
4.after 值已更改
5.code落后
我需要在我的 Xamarin.ios 项目中以编程方式打开一个 UIDatePicker。不幸的是,这是不允许的,也没有 public api。但是我从 Open UIDatePicker programmatically in iOS 14 得到了一些本地代码的技巧 我正在尝试实施这个技巧: 我设法在我的标签上添加了一个 UIDatePicker。这是我的代码:
lblFromDate.UserInteractionEnabled = false;
var datePicker = new UIDatePicker(new CGRect(x: lblFromDate.Frame.X, y:
lblFromDate.Frame.Y, width: lblFromDate.Frame.Width, height: lblFromDate.Frame.Height));
datePicker.Mode = UIDatePickerMode.Date;
datePicker.ValueChanged += DatePicker_ValueChanged;
Add(datePicker);
但我想以某种方式隐藏日期选择器,但仍然需要它是交互式的,以便在点击标签(实际上是点击日期选择器)时,日期选择器会动画化。
第二个问题是我想在点击任何日期时关闭日历模式。但我发现只有价值改变的事件。是否可以通过编程方式关闭日历模式,这对我有很大帮助。这是点击日期选择器后弹出的日历模式:
第一个问题: 您可以将日期选择器的 PerferredDatePickerStyle 设置为紧凑型,并将日期选择器上的标签颜色设置为白色以覆盖日期选择器。还设置标签的 启用为假。 代码如下:
mydatapicker.PerferredDatePickerStyle=UIDatePickerStyle.Compact;
mylabel.BackgroundColor=UIColor.White;
//.....
要更改文本,请添加以下代码:
mydatapicker.valuechanged+=Datepicker_Valuechanged;
private void Datepicker_Valuechanged(object sender,EventArgs e)
{mylabel.Text=mydatapicker.Date.ToString();}
关于你的第二个问题 恐怕没有合适的方法可以在点击任何日期时关闭日历模式。
希望这些对您有所帮助。
1.In 故事板,将标签的启用设置为 false。
2.before点击
3.click
4.after 值已更改
5.code落后