See Also: UIActionSheet Members
As of iOS 8, app devs should use MonoTouch.UIKit.UIAlertController rather than this class. Extensions may not use this class at all.
The MonoTouch.UIKit.UIActionSheet control is a convenient way to allow the application user to choose among alternative actions. The following code and diagram are taken from the "Action Sheets" section of the "iOS Standard Controls" sample.
C# Example
protected void HandleBtnActionSheetWithOtherButtonsTouchUpInside (object sender, EventArgs e) { actionSheet = new UIActionSheet ("action sheet with other buttons"); actionSheet.AddButton ("delete"); actionSheet.AddButton ("cancel"); actionSheet.AddButton ("a different option!"); actionSheet.AddButton ("another option"); actionSheet.DestructiveButtonIndex = 0; actionSheet.CancelButtonIndex = 1; //actionSheet.FirstOtherButtonIndex = 2; actionSheet.Clicked += delegate(object a, UIButtonEventArgs b) { Console.WriteLine ("Button " + b.ButtonIndex.ToString () + " clicked"); }; actionSheet.ShowInView (View); }
The MonoTouch API supports two styles of event notification: the Objective-C style that uses a delegate class or the C# style using event notifications.
The C# style allows the user to add or remove event handlers at runtime by assigning to the events of properties of this class. Event handlers can be anyone of a method, an anonymous methods or a lambda expression. Using the C# style events or properties will override any manual settings to the Objective-C Delegate or WeakDelegate settings.
The Objective-C style requires the user to create a new class derived from MonoTouch.UIKit.UIActionSheetDelegate class and assign it to the MonoTouch.UIKit.Delegate property. Alternatively, for low-level control, by creating a class derived from MonoTouch.Foundation.NSObject which has every entry point properly decorated with an [Export] attribute. The instance of this object can then be assigned to the UIActionSheet.WeakDelegate property.