单键UIMenuController

时间:2012-10-10 09:59:46

标签: iphone ios uimenucontroller

早上好!

我正在编写一个显示插座列表的应用程序,每个插座都可以销售2种产品和/或可以是在线商店。

为了在我的应用程序上显示这个,我添加了一些“图标”,但是如果它们足够“自我解释”,我正在寻找一种易于使用的解释方式。

当用户点击图标(UImenuController时)时,我知道我正在使用UIButton

我只是在寻找简单的东西,如下图所示:

enter image description here

但不是

  

高亮

我只想提出类似

的内容
  

出售x产品

我面临的问题是我可以显示这个UIMenuController,但是他有很多“垃圾值”,你可以在这张图片中看到:

enter image description here

不是很酷吗?

他是链接到我的按钮的方法:

-(void)buttonClicked:(UIBarButtonItem*)sender event:(UIEvent*)event{

    [self becomeFirstResponder];

    UIView *buttonView=[[event.allTouches anyObject] view];
    CGRect buttonFrame=[buttonView convertRect:buttonView.frame toView:self.view];

    UIMenuItem *flag = [[UIMenuItem alloc] initWithTitle:@"Select" action:@selector(selectItem:)];

    UIMenuController *menu = [UIMenuController sharedMenuController];

    [menu setMenuItems:[NSArray arrayWithObjects:flag, nil]];

    [menu setTargetRect:buttonFrame inView:self.view];

    [menu setMenuVisible:YES animated:YES];
}

我显然有:

✔返回YES -(BOOL)canBecomeFirstResponder

✔返回YES -(BOOL)canPerformAction

✔返回YES -(BOOL)canPerformAction

✔返回YES -(BOOL)canPerformAction -(BOOL)canPerformAction:(SEL)action withSender :( id)发件人

✔文本“Select”确实出现,但在菜单的“结尾”(您必须使用右侧的箭头)

欢迎任何帮助和/或线索! : - )

1 个答案:

答案 0 :(得分:1)

好吧,我终于设法(在谷歌和Stackoverflow上度过了下午之后)来实现它!

这很简单:当你覆盖

-(BOOL)canPerformAction -(BOOL)canPerformAction:(SEL)action

回来

[super canPerformAction:action withSender:sender];

而不是

YES

和“voilà!”

:)