iOS Picker可用于Xamarin.iOS吗?我一直在搜索,但既没有例子,也没有建立信息;但是,它可以在Xamarin.Form中使用.
解决方法
一个真实的
UIPickerView快速示例:(
iOS SDK)
将UIPickerView添加到名为slotMachineView的xib或Storyboard中:
using System;
using UIKit;
namespace Slots
{
public partial class ViewController : UIViewController
{
public ViewController (IntPtr handle) : base (handle)
{
}
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
slotMachineView.Model = new StackOverflowModel (selectedLbl);
}
public override void DidReceiveMemoryWarning ()
{
base.DidReceiveMemoryWarning ();
}
}
public class StackOverflowModel : UIPickerviewmodel
{
static string[] names = new string [] {
"pscorlib.dll","pscorlib_aot.dll","Mono.PlayScript.dll","PlayScript.Dynamic.dll","PlayScript.Dynamic_aot.dll","PlayScript.Optimization.dll","playshell.exe","psc.exe"
};
UILabel lbl;
public StackOverflowModel (UILabel lbl)
{
this.lbl = lbl;
}
public override nint GetComponentCount (UIPickerView v)
{
return 3;
}
public override nint GetRowsInComponent (UIPickerView pickerView,nint component)
{
return names.Length;
}
public override string GetTitle (UIPickerView picker,nint row,nint component)
{
switch (component) {
case 0:
return names [row];
case 1:
return row.ToString ();
case 2:
return new string ((char)('A' + row),1);
default:
throw new NotImplementedException ();
}
}
public override void Selected (UIPickerView picker,nint component)
{
lbl.Text = String.Format ("{0} : {1} : {2}",names [picker.SelectedRowInComponent (0)],picker.SelectedRowInComponent (1),picker.SelectedRowInComponent (2));
}
public override nfloat GetComponentWidth (UIPickerView picker,nint component)
{
if (component == 0)
return 220f;
else
return 30f;
}
}
}