我想创建这样的东西:
当客户端单击导航控制器的右侧按钮(操作按钮)时,会出现一个按钮框架(如图像)并且客户端选择它们。通过选择将执行哪一项新操作。
我是 iphone 和 monotouch 的新手。框架是 iphone 中预定义的组件。如果是,它的名称是什么,以及我如何使用它。如果它不是预定义的组件,我如何在我的应用程序中创建这样的框架?
我想创建这样的东西:
当客户端单击导航控制器的右侧按钮(操作按钮)时,会出现一个按钮框架(如图像)并且客户端选择它们。通过选择将执行哪一项新操作。
我是 iphone 和 monotouch 的新手。框架是 iphone 中预定义的组件。如果是,它的名称是什么,以及我如何使用它。如果它不是预定义的组件,我如何在我的应用程序中创建这样的框架?
这是UIActionSheet
. 这是一个小例子:
var sheet = new UIActionSheet ("");
sheet.AddButton ("Send email");
sheet.AddButton ("Send message");
sheet.AddButton ("Cancel");
sheet.CancelButtonIndex = 2;
sheet.Clicked += delegate(object sender, UIButtonEventArgs e) {
if (e.ButtonIndex == 2)
return;
};
sheet.ShowInView (this);
那是一个 UIActionSheet。有一个 MonoTouch示例演示了如何使用它。
ViewDidLoad
在方法中添加此代码,
UIBarButtonItem *arrow = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(showActionSheet)] autorelease];
self.navigationItem.rightBarButtonItem = arrow;
编写showActionSheet方法的代码并添加UIActionSheet *actionSheet in .h
文件并给出@property和@synthesize。
#pragma mark - Button Methods
-(void)showActionSheet
{
// Here is code for UIActionSheet
self.actionSheet= [[UIActionSheet alloc]initWithTitle:@" " delegate:self cancelButtonTitle:@"Hide Action" destructiveButtonTitle:nil otherButtonTitles:@"Send email", @"Send message", nil];
[self.actionSheet showInView:self.view];
//self.actionSheet.tag=1;
}
添加委托方法UIActionSheet
#pragma mark - UIActionSheet Delegate Methods
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
if(buttonIndex == 0)
{
// code for selected first Button.
}
else if(buttonIndex == 1)
{
// code for selected Second Button.
}
}