Ich versuche nur einige grundlegende Anweisungen zur Verwendung von UiPickerView in Xamarin iOS zu finden. Es gibt Fragen zu Stack Overflow, die bestimmte Fragen beantworten, aber ich suche nur einen einfachen Überblick und hoffe, dass ich den UiPickerView einem ViewController hinzufügen, die Daten verkabeln und Ereignisse registrieren kann. Als Noob zu Xamarin und iOS habe ich Schwierigkeiten, alle Stellen zu katalogisieren, die der Code für diese Art von Steuerung benötigt.Xamarin iOS UiPickerView Tutorial
Antwort
Diese PickerViewController file im MonoCatalog-MonoDevelop-Sample klingt nach dem, was Sie verlangen.
Insbesondere die CreateCustomPicker
Funktion here und die CustomPickerModel
Art definiert here.
// Set PickerViewModel
var examplePVM = new ExamplePickerViewModel(myListOfItems);
YourPickerView.Model = examplePVM ;
// erstellen PickerViewModel
public class ExamplePickerViewModel : UIPickerViewModel
{
private List<string> _myItems;
protected int selectedIndex = 0;
public ExamplePickerViewModel(List<string> items)
{
_myItems = items;
}
public string SelectedItem
{
get { return _myItems[selectedIndex]; }
}
public override nint GetComponentCount (UIPickerView picker)
{
return 1;
}
public override nint GetRowsInComponent (UIPickerView picker, nint component)
{
return _myItems.Count;
}
public override string GetTitle (UIPickerView picker, nint row, nint component)
{
return _myItems[row];
}
public override void Selected (UIPickerView picker, nint row, nint component)
{
selectedIndex = (int)row;
}
}
Schön und ordentlich Gute Antwort! –
ich eine blog post geschaffen picker die Grundlagen eines UIPickerView zu decken. Es kann verwirrend sein, Grundidee:
- Fügen Sie die UIPickerView zu Ihrem Storyboard usw., geben Sie ihm einen Namen.
- Erstellen Sie eine Klasse, die
- Stellen Sie das Modell des Picker,
pickerExample.Model = new YourListPicker(YourList);
// Textfield Click event
private bool OnTodeapartmentShouldBeginEditing(UITextField textField)
{
// Creating Picker view
pickerView = new UIPickerView(new CGRect(UIScreen.MainScreen.Bounds.X-UIScreen.MainScreen.Bounds.Width, UIScreen.MainScreen.Bounds.Height -230, UIScreen.MainScreen.Bounds.Width, 180));
pickerView.BackgroundColor = UIColor.From#d3d3d3;
pickerView.ShowSelectionIndicator = true;
// create done button
done = new UIButton(new CGRect(pickerView.Frame.X, pickerView.Frame.Y - 50, UIScreen.MainScreen.Bounds.Width, 50));
done.BackgroundColor = UIColor.Purple;
done.SetTitle("Department List", UIControlState.Normal);
picker = new PickerDataModel();
if (departmentList.DepartmentDetail != null)
{
foreach (var item in departmentList.DepartmentDetail)
{
picker.Items.Add(item.Name);
}
pickerView.Model = picker;
view.AddSubviews(pickerView, done);
// value change event of picker view
picker.ValueChanged += (s, e) =>
{
selectedValue = picker.SelectedItem;
txtDepartment.Text = selectedValue;
deptID = departmentList.DepartmentDetail.Find(x => x.Name == selectedValue).DepartmentId;
};
}
}
Neue Klasse Datei enter image description here // Picker Data Model Klasse für Picker Ansicht, diese Klassendatei von UIPickerViewModel
erstreckt, ist mit auf Hilfsteil für den allgemeinen Gebrauch
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());
}
}
} [enter image description here][1]
[1]: https://i.stack.imgur.com/Ld1uU.png
Bitte nur relevanten Code, nicht alle davon – jhhoff02
wie er ist neu, so dass ich posten alle zugehörigen Code, so dass er nicht auf andere Probleme konfrontiert werden –
- 1. Xamarin Forms Picker - Benutzerdefiniert UIPickerView
- 2. Füllen Sie eine Liste in einem UIPickerView in Xamarin iOS
- 3. UITableView innerhalb UIPickerView in iOS
- 4. CountDown Timer iOS-Tutorial?
- 5. iOS - Beginn iOS Tutorial - Unterstrich vor Variable?
- 6. Xamarin iOS Storyboard-Lokalisierung
- 7. Xamarin iOS Framework-Bindung
- 8. Xamarin Forms - iOS-Stilauswahl
- 9. iOS Warum schleifen meine UIPickerview-Methoden?
- 10. UIPickerView: NSAtributedString nicht in iOS 7 verfügbar?
- 11. iOS - Füllen Sie eine statische UIPickerView
- 12. iOS Anzeigen von UIPickerView zwischen UITableViewCells
- 13. iOS AWS S3 Implementierung Tutorial
- 14. ios-Restkit Tutorial für Kerndaten
- 15. Logging Framework auf Xamarin iOS
- 16. unterstützt Xamarin CoreBluetooth für iOS?
- 17. Cookies pflegen UIWebView iOS Xamarin
- 18. Xamarin baut kein iOS-Projekt
- 19. Xamarin iOS SDK-Version leer
- 20. Xamarin iOS handleAction nie anrufen
- 21. Devolopping iOS-Apps mit Xamarin
- 22. Erfordert Xamarin IOS Simulator XCode?
- 23. Xamarin iOS - Handle Benachrichtigungen gelöscht
- 24. Erweiterbare Listenansicht In Xamarin IOS
- 25. Xamarin iOS-Fehler: Kann nicht
- 26. So implementieren Sie Liniendiagramm in Xamarin iOS, Xamarin android
- 27. Automatisch Code zwischen Xamarin iOS und Xamarin Android konvertieren
- 28. Xamarin Tutorial findViewById null zurück auf deaktiviert Kontrollen
- 29. UIPickerView und UITextField erhalten Wert von UIPickerView
- 30. iOS UIPickerView wie die ausgewählte Zeile außerhalb des Delegatmethode
Mögliche Duplikate von [Picker in Xamarin.iOS verfügbar] (http://stackoverflow.com/qu estions/33900884/picker-in-xamarin-ios-verfügbar) – Jason
http://sushihangover.github.io/xamarin-c-number-uipickerview/ oder https://www.youtube.com/watch?v=lXa9WZMcmoE –