Xamarin
用于使用 .NET 和 C# 构建 Android 和 iOS 应用的 Microsoft 开源应用平台。
15 个问题
在PickerView Delegate中: "Selected " delegate 函数可用于获取选中值。但无法在PickerView 中设置选中值.
注意:此问题总结整理于:UIPickerView: Is it possible to show the previous selected value in the UIPicker view? - Microsoft Q&A
你好,
您可以使用 UIPickerView.Select(nint, nint, Boolean)方法设置选中值,请参考以下代码:
在自定义 UIPickerView 中添加选定方法
public void DefultSelect(string selectedYear, string selectedMonth)
{
if (this.SelectedYear != null && this.SelectedMonth != null)
{
var yearIndex = yearArray.IndexOf(selectedYear);
var monthIndex = monthArray.IndexOf(selectedMonth);
PickerViewDelegate pickerDelegate = (PickerViewDelegate)this.Delegate;
this.Select(yearIndex, 0, true);
this.Select(monthIndex, 1, true);
}
}
在 ViewController 中调用此方法进行测试
clickbutton.TouchUpInside += delegate
{
//获取选中的年份和月份
customLabel.Text = customPicker.SelectedYear +"-" + customPicker.SelectedMonth;
customPicker.Hidden = true;
};
设置默认选中值
checkSelectbutton.TouchUpInside += delegate
{
customPicker.Hidden = false;
string[] words = customLabel.Text.Split('-');
string defaultYear = words[0];
string defaultMonth = words[1];
customPicker.DefultSelect(defaultYear, defaultMonth);// 设置值,我从Label中获取选中值,您可以根据需要存储值(和获取值
};
如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。