2012-10-10 33 views
2

早上好!单按钮UIMenuController

我写这显示一个列表出口的应用程序,每一个出口可以卖2种产品和/或可以是在线商店。

对于这显示在我的应用我增加了一些“图标”,但万一他们正在BOT足够的“自我解释”我正在寻找一个易于使用的方法来解释。

所以,正确的知道我使用的是UImenuController时,图标上的用户龙头(这是一个UIButton

我只是在寻找一些简单的,像下面的图片:

enter image description here

但代替

亮点

我只想把像

销售X产品

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

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

✔为 -(BOOL)canPerformAction -(BOOL)canPerformAction:(SEL)action withSender返回YES:(ID)发送

✔文本 “Select” 出现了,但在菜单中的 “结束”(你必须使用箭头向右)

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

+0

本教程http://www.g8production.com/post/19777758071/how-to-create-and-use-a-custom-uimenucontroller试过了,仍然没有工作 – Edelweiss

回答

1

好了,我终于成功地实现它(下午花在谷歌&后#1)!

这很容易:当你覆盖

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

只是返回

[super canPerformAction:action withSender:sender]; 

,而不是

YES 

和 “瞧!”

:)