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; } } }