0

我想创建这样的东西:

在此处输入图像描述

当客户端单击导航控制器的右侧按钮(操作按钮)时,会出现一个按钮框架(如图像)并且客户端选择它们。通过选择将执行哪一项新操作。

我是 iphone 和 monotouch 的新手。框架是 iphone 中预定义的组件。如果是,它的名称是什么,以及我如何使用它。如果它不是预定义的组件,我如何在我的应用程序中创建这样的框架?

4

3 回答 3

2

这是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);
于 2013-03-11T12:07:33.707 回答
1

那是一个 UIActionSheet。有一个 MonoTouch示例演示了如何使用它。

于 2013-03-11T12:05:12.363 回答
1

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.      
    }
}
于 2013-03-11T12:11:51.130 回答