我是iOS开发的新手,正在UIMenuController上工作。看来我们需要为每个UIMenuItem选择不同的选择器。

有没有办法拥有一个选择器并确定我单击了哪个项目?

我们可以将参数发送给选择器,以便确定单击哪个项目吗?

这是我初始化菜单项的方式。

UIMenuItem *item = [[UIMenuItem alloc]initWithTitle:@"Item 1" action:@selector(itemClicked:)];

最佳答案

您可以像这样使用块来处理委托

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 )
    };

关于iphone - iOS:具有单个选择器的多个UIMenuItems,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17037036/

10-12 14:54