2012-10-10 67 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 

和 「瞧!」

:)