我知道 UIButton 有一个menu
属性,因此可以将上下文菜单添加到按钮中。但是对于其他的 UIControl 子类,比如自定义 UIControls,这个属性是不存在的。
我知道将上下文菜单添加到 UIControl 的一种方法是调用addInteraction
然后采用上下文菜单的委托。但是,如果我在页面上有多个控件,我该如何为所有不同的控件添加菜单,因为它们都共享同一个委托?
或者,如何menu
向我的 UIControl 子类添加属性?我知道 UIControl 有一个名为的属性contextMenuInteraction
,显然是自动填充的,但我不明白如何使用该属性。我知道控件必须实现委托方法(UIContextMenuConfiguration *)contextMenuInteraction:(UIContextMenuInteraction *)interaction configurationForMenuAtLocation:(CGPoint)location
,但是在该方法中,我只是构造 UIContextMenuInteraction 对象吗?设置menu
属性后,如何让它调用委托方法?
本质上,我希望能够menu
在我的 UIControl 子类中模仿 UIButton 类的属性。但如果不是这样,那么我至少想弄清楚如何支持多个上下文菜单都共享同一个委托。