Visual Studio for Mac for iOS PickerViewer覚書
Visual Studio for Macの覚書です
PickerViewerでデータ追加(海外の掲示板より)
using System;
using UIKit;
using System.Collections.Generic;
public class PickerDataModel : UIPickerViewModel
{
public event EventHandler<EventArgs> ValueChanged;
/// <summary>
/// The items to show up in the picker
/// </summary>
public List<string> Items { get; private set; }
/// <summary>
/// The current selected item
/// </summary>
public string SelectedItem
{
get { return Items[SelectedIndex]; }
}
public int SelectedIndex
{
get
{
return selectedIndex;
}
set
{
selectedIndex = value;
}
}
private int selectedIndex;
public PickerDataModel()
{
Items = new List<string>{};
}
/// <summary>
/// Called by the picker to determine how many rows are in a given spinner item
/// </summary>
public override nint GetRowsInComponent(UIPickerView picker, nint component)
{
return Items.Count;
}
/// <summary>
/// called by the picker to get the text for a particular row in a particular
/// spinner item
/// </summary>
public override string GetTitle(UIPickerView picker, nint row, nint component)
{
return Items[(int)row];
}
/// <summary>
/// called by the picker to get the number of spinner items
/// </summary>
public override nint GetComponentCount(UIPickerView picker)
{
return 1;
}
/// <summary>
/// called when a row is selected in the spinner
/// </summary>
public override void Selected(UIPickerView picker, nint row, nint component)
{
SelectedIndex = (int)row;
if (ValueChanged != null)
{
ValueChanged(this, new EventArgs());
}
}
}
ここまでがモデル
こっからがPicker
public override void ViewDidLoad()
PickerDataModel data = new PickerDataModel();
UIPickerView picker = new UIPickerView();
data.Items.Add("fuga");
data.Items.Add("hoge");
picker.Model = data;
base.ViewDidLoad();
// Perform any additional setup after loading the view, typically from a nib.
}
日本のサイトだとpicker.Items.Addとかで直接データを追加してるけど
そんなメソッド出てきませんでした
