单击导航控制器的操作 uiitembar 后显示一帧按钮
Posted
技术标签:
【中文标题】单击导航控制器的操作 uiitembar 后显示一帧按钮【英文标题】:Showing a frame of buttons after clicking on action uiitembar of navigation controller 【发布时间】:2013-03-11 12:01:16 【问题描述】:我想创建这样的东西:
当客户端单击导航控制器的右侧按钮(操作按钮)时,会出现一个按钮框架(如图像)并且客户端选择它们。通过选择新操作将执行哪一项。
我是 iphone 和 monotouch 的新手。框架是 iphone 中预定义的组件。如果是,它的名称是什么,以及我如何使用它。如果它不是预定义的组件,我如何在我的应用程序中创建这样的框架?
【问题讨论】:
你可以使用UIActionSheet
这个......
【参考方案1】:
这是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);
【讨论】:
感谢您的回复。不幸的是,只能勾选一个回复作为答案。谢谢【参考方案2】:这是一个 UIActionSheet。有一个 MonoTouch sample 演示了如何使用它。
【讨论】:
【参考方案3】:在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.
【讨论】:
该问题使用 Monotouch 标记。 @petert 也用 obj-C 标记:/以上是关于单击导航控制器的操作 uiitembar 后显示一帧按钮的主要内容,如果未能解决你的问题,请参考以下文章