显示操作表

自 iOS8 起可用的 UIAlertController 允许你对 Action Sheet 或更多经典警报使用相同的警报对象。唯一的区别是 UIAlertControllerStyle 在创建时作为参数传递。

与此处提供的其他一些示例相比,此行从 AlertView 更改为 ActionSheet:

var alert = UIAlertController.Create(title, message, UIAlertControllerStyle.ActionSheet);

向控制器添加操作的方式仍然相同:

alert.AddAction(UIAlertAction.Create(otherTitle, UIAlertActionStyle.Destructive, (action) => {
    // ExecuteSomeAction();
}));
alert.AddAction(UIAlertAction.Create(cancelTitle, UIAlertActionStyle.Cancel, null));

//Add additional actions if necessary

请注意,如果你有无参数 void 方法,则可以将其用作 .AddAction() 的最后一个参数。

例如,假设我想按 OK 时执行 private void DoStuff(){...} 的代码:

UIAlertAction action = UIAlertAction.Create("OK", UIAlertActionStyle.Cancel, DoStuff);
alert.AddAction(action);

注意我在创建动作时没有在 DoStuff 之后使用()。

你呈现控制器的方式与任何其他控制器的完成方式相同:

this.PresentViewController(alert, true, null);