我正在编写一个显示插座列表的应用程序,每个插座都可以销售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
✔返回YES
-(BOOL)canPerformAction -(BOOL)canPerformAction:(SEL)action
withSender :( id)发件人
✔文本“Select
”确实出现,但在菜单的“结尾”(您必须使用右侧的箭头)
欢迎任何帮助和/或线索! : - )
答案 0 :(得分:1)
好吧,我终于设法(在谷歌和Stackoverflow上度过了下午之后)来实现它!
这很简单:当你覆盖
-(BOOL)canPerformAction -(BOOL)canPerformAction:(SEL)action
回来
[super canPerformAction:action withSender:sender];
而不是
YES
和“voilà!”
:)