Я вроде как реализовал что-то вроде этого, используя popover и Dialog.
У меня есть barbuttonitem, который при нажатии выскакивает с раскрывающимся списком, чтобы позволить вам выбирать между различными компаниями.myPopController - это переменная уровня класса, а затем лямбда-выражение внутри строкового элемента перенаправляет на определенную функцию.
Код ниже
void HandleBtnCompanyhandleClicked (object sender, EventArgs e)
{
if(myPopController != null)
{
myPopController.Dismiss(true);
myPopController.Dispose();
}
//create the view
UIView contentView = new UIView();
contentView.Frame = new RectangleF(new PointF(0,0), new SizeF(320f, 240f));
//create the view controller
UIViewController vc = new UIViewController();
vc.Add(contentView);
//set the popupcontroller
myPopController = new UIPopoverController(vc);
myPopController.PopoverContentSize = new SizeF(320f, 240f);
//Add the elements to the rootelement for the companies
// TODO: change to a DB read eventually
RootElement rt = new RootElement(""){
new Section ("Requests") {
new StringElement ("ABC Company",() => {companyTapped("ABC Company");}),
new StringElement ("Northwind", () => {companyTapped("Northwind");}),
new StringElement ("Initrode", () => {companyTapped("Initrode");}),
new StringElement ("Foo Bars Group", () => {companyTapped("Foo Bars Group");}),
new StringElement ("Widget Corp", () => {companyTapped("Widget Corp");}),
}
};
//create the DVC and add to the popup
DialogViewController dvc = new DialogViewController(rt);
contentView.AddSubview(dvc.View);
myPopController.PresentFromBarButtonItem(btnCompany,UIPopoverArrowDirection.Up,true);
}