那就是
UIMenuController
。
斯威夫特
let contextMenu = UIMenuController.shared
contextMenu.menuItems = [
UIMenuItem(title: "test", action: #selector(testclicked)),
UIMenuItem(title: "test 1", action: #selector(test1clicked)),
UIMenuItem(title: "test2", action: #selector(test2clicked)),
UIMenuItem(title: "test3", action: #selector(test3clicked))
]
contextMenu.showMenu(from: self.view, rect: CGRect(x: 100, y: 190, width: 100, height: 20))
目标C
- (void)showMenu
{
UIMenuController *menu = [UIMenuController sharedMenuController];
menu.menuItems = @[
[[UIMenuItem alloc] initWithTitle:@"Title1" action:@selector(MyAction1)],
[[UIMenuItem alloc] initWithTitle:@"Title2" action:@selector(MyAction2)],
[[UIMenuItem alloc] initWithTitle:@"Title3" action:@selector(MyAction)]];
[menu setTargetRect:self.bounds inView:self];
[menu setMenuVisible:YES animated:YES];
}
更新:请立即使用
UIEditMenuInteraction
,因为UIMenuController
已弃用