我是iOS开发的新手,我正在研究UIMenuController
。看起来我们需要为每个UIMenuItem
设置一个不同的选择器。
有没有办法让一个选择器并确定我点击了哪个项目?
我们可以向选择器发送一个参数,以便我们可以识别我们点击的项目吗?
这是我初始化菜单项的方式。
UIMenuItem *item = [[UIMenuItem alloc]initWithTitle:@"Item 1" action:@selector(itemClicked:)];
答案 0 :(得分:1)
你可以像这样使用块来处理委托
UIMenuItem.h
@property (nonatomic, copy) void (^onButtonClicked)(id btn);
UIMenuItem.m
@synthesize onButtonClicked;
- (IBAction)btnExpandClicked:(id)sender{
self.onButtonClicked(sender);
}
将连接到每个菜单项
然后在你的UITableViewController.m
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
...
item.onButtonClicked = ^(id btn) {
// code that will run when the menu item is clicked "not the row of the table"
// btn is the menu button clicked, you can implement a pop up based on each menu button clicked ( based on the tag for example )
};