iOS-如何在UITableView中的单元格上添加带有文本/按钮的气泡?

iOS-如何在UITableView中的单元格上添加带有文本/按钮的气泡?,ios,objective-c,uitableview,cell,Ios,Objective C,Uitableview,Cell,我真的不知道该怎么称呼这个功能,音乐应用程序已经升级到了8.4,它看起来像是在屏幕截图上。我想在我的应用程序中实现它,这样当用户按下单元格时,带有2个选项按钮的“气泡”就会出现。 我对如何在Obj-C中实现这一点很感兴趣,但我相信人们会欣赏用Swift书写的答案。谢谢 查找如何在UITableViewCell上实现UIMenuController 我做的和你想做的完全一样。 为此,您必须创建自己的视图控制器,而不是UIMenuItem。屏幕截图如下所示 我要做的是创建一个viewControl

我真的不知道该怎么称呼这个功能,音乐应用程序已经升级到了8.4,它看起来像是在屏幕截图上。我想在我的应用程序中实现它,这样当用户按下单元格时,带有2个选项按钮的“气泡”就会出现。 我对如何在Obj-C中实现这一点很感兴趣,但我相信人们会欣赏用Swift书写的答案。谢谢

查找如何在UITableViewCell上实现UIMenuController


我做的和你想做的完全一样。 为此,您必须创建自己的视图控制器,而不是UIMenuItem。屏幕截图如下所示

我要做的是创建一个viewController作为弹出窗口(PopoverMenuController),并添加一个tableView作为菜单的子视图。 同样,您可以添加任何您想要的UI控件,而不是tableView

这是你如何使用我的PopoverMenuController

var myPopupMenu: PopoverMenuController!

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    // make cell fully visible
    let tableCell = tableView.cellForRow(at: indexPath)!
    tableView.scrollRectToVisible(tableView.rectForRow(at: indexPath), animated: false)
    // pop up menu
    myPopupMenu = PopoverMenuController()
    myPopupMenu.sourceView = tableCell
    var rect = tableCell.bounds
    // I'm adjusting popup menu position slightly (this is optional)
    rect.origin.y = rect.size.height/3.0
    rect.size.height = rect.size.height / 2.0
    myPopupMenu.sourceRect = rect
    myPopupMenu.addAction(PopMenuAction(textLabel: "MyMenu-1", accessoryType: .none, handler: myMenuHandler1))
    myPopupMenu.addAction(PopMenuAction(textLabel: "MyMenu-2", accessoryType: .none, handler: myMenuHandler2))
    present(myPopupMenu, animated: true, completion: nil)
}

func myMenuHandler1(_ action: PopMenuAction?) -> Bool {
    // do some work...
    return false
}

func myMenuHandler2(_ action: PopMenuAction?) -> Bool {
    // do some work...
    return false
}
翻译成Obj-C不应该是一个很大的努力。 我输入了PopoverMenuController.swift的源代码。此控制器是自包含的,并且有关于如何使用的说明


希望这有帮助。

这就是菜单。看一看:1)屏幕截图没有显示菜单。2) 不要发布答案这只是另一个答案的链接。