2

おはようございます !

私はアウトレットリストを表示するアプリを書いています。すべてのアウトレットは2種類の商品を販売したり、オンラインショップになったりすることができます。

私のアプリでこれを表示するために、いくつかの「アイコン」を追加しましたが、それらがボットで十分に「自明」である場合は、説明するための使いやすい方法を探しています。

UImenuControllerしたがって、ユーザーがアイコン(UIButton)をタップしたときに使用していることを知っておいてください。

下の写真のように、単純なものを探しています。

ここに画像の説明を入力してください

しかし、代わりに

ハイライト

私はただのようなものを置きたいです

x製品を売る

私が直面している問題は、このUIMenuControllerを表示できることですが、この画像に示されているように、彼には多くの「ガベージ値」があります。

ここに画像の説明を入力してください

本当にかっこいいじゃないですか?

彼は私のボタンにリンクされているメソッドです:

-(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:(id)senderに対してYESを 返しました

✔テキスト「Select」は表示されますが、メニューの「最後」に表示されます(右側の矢印を使用する必要があります)

どんな助けや手がかりも大歓迎です!:-)

4

1 に答える 1

1

さて、私はついにそれを達成するために(午後をGoogleとStackoverflowで過ごした後)なんとか成功しました!

簡単です:上書きするとき

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

戻るだけ

[super canPerformAction:action withSender:sender];

それ以外の

YES

と「voilà!」

:)

于 2012-10-10T13:27:45.010 に答える