问题标签 [uicontextmenuinteraction]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
110 浏览

swift - 用户图像的 ContextMenuConfiguration?

我希望弹出用户的图像(没有操作选项),然后在外面触摸时将其关闭。

假设表格视图由 2 个 UI 元素(一个按钮和一个文本)和一张图片组成。您将如何设置仅为图片的弹出上下文菜单 - immy?


下面是在第一条评论之后添加的 ViewControlleTableViewCell。我对评论的回复还解释了它在 main.storyboard 中的外观。

在主页中:

0 投票
1 回答
795 浏览

swift - 在 ContextMenu 中更改 UIImage 的弹出大小?

假设您有一个长按时弹出的图像的上下文菜单。如何使弹出窗口更大,但保持相同的尺寸?



0 投票
1 回答
423 浏览

ios - UIContextMenu 和 UITableView 问题

我正在尝试添加一个类似的 UIContextMenu,就像您在 iMessages 中找到的那样。长按消息时,应显示带有一些选项的上下文菜单。我使用tableView(_:contextMenuConfigurationForRowAt:point:)和其他方法。到目前为止,一切都很好。

但是我遇到了两个我无法解决的问题:

  1. 最大的一个是预览的变化。当显示上下文菜单并且您收到一条新消息(导致 tableview 重新加载)时,预览将更改其内容。突然之间,出现了与您最初选择的不同的消息。但我不明白为什么,因为没有调用上下文菜单的 tableview 方法......我怎么能解决这个问题?Apple 信息停止添加新信息。但例如 Viber 仍然能够在有上下文菜单时接收新消息。

  2. 我想在tableView(_:willDisplayContextMenu:animator:)...的帮助下以某种方式像Apple一样处理它,但是还有第二个问题-这种方法仅适用于iOS +14.0 ..!所以我怎么知道在 iOS 14 之前会有上下文菜单?

我会很感激任何帮助。谢谢。

0 投票
1 回答
119 浏览

ios - 如何将变量分配给 Swift 中的 UIInteraction?

为什么我需要变量?因为在单元格中按 2 次不同的长按后,需要调用 2 个图像func contextMenuInteraction

下面是我的代码,我在其中为每个长按交互分配了一个变量。我收到错误Thread 1: Swift runtime failure: Unexpectedly found nil while implicitly unwrapping an Optional value

//在适用范围

//在 override func awakeFromNib() 和一个objC的长按函数中分别

下面是func ContextMenuInteraction调用 2 个交互的地方

意外发现 nil 错误发生在哪里 - 在这一行中:

0 投票
0 回答
14 浏览

ios - UIContextMenu 未正确加载 nib 文件

我在 UICollectionViewCell 中使用 uicontextmenuconfiguration 和 uicontextmenuinteractiondelegate 来预览用户的个人资料。我正在传递索引路径所需的所有数据以获取用户并通过火基地获取用户。我们的应用程序有两种用户类型,每一种都流经同一个 nib 文件,该文件在为两种用户类型中的每一种加载时都会初始化数据。将用户推送到并加载这些视图很容易并且效果很好。但是,当按住单元格时,如果用户稍微提前释放触摸,默认的 nib 文件会显示...我很困惑为什么会发生这种情况,以及是否需要专门做任何事情来确保笔尖文件正确加载...我对非笔尖文件的相同功能没有任何问题..在此处输入图像描述

显而易见的是,它似乎是 nib 文件的问题,而不是数据本身的问题..因为用户的信息(名称)和数据正在传递。如果我点击弹出的上下文菜单,它会将我带到相应用户的个人资料。

每个 nib 文件都需要 awakefromnib 吗?

0 投票
0 回答
62 浏览

ios - 如何在 iOS Swift 上添加按钮并启用点击 UIContextMenu previewView?

我正在尝试在 previewView 上为上下文菜单添加一些按钮。但是在点击预览视图时,内容菜单会被关闭。如何禁用关闭操作并检测预览视图内按钮的点击?我尝试设置UserInteractionEnabled预览视图,但这没有帮助。我需要在红色区域添加一个按钮,它应该是可点击的。

在此处输入图像描述

0 投票
0 回答
28 浏览

objective-c - UIContextMenuInteraction 在后台出现黑屏

我在 UIContextMenuContainerView 中为 UIVisualEffectBackdropView 获得黑色背景。我已经为视图实现了 UIContextMenuInteraction 的代码,在强制触摸时我能够获得预览控制器,但主控制器不可见,因为 UIVisualEffectBackdropView 是黑色的。 在此处输入图像描述

0 投票
1 回答
86 浏览

ios - UIControl 的 UIContextMenuInteraction

我知道 UIButton 有一个menu属性,因此可以将上下文菜单添加到按钮中。但是对于其他的 UIControl 子类,比如自定义 UIControls,这个属性是不存在的。

我知道将上下文菜单添加到 UIControl 的一种方法是调用addInteraction然后采用上下文菜单的委托。但是,如果我在页面上有多个控件,我该如何为所有不同的控件添加菜单,因为它们都共享同一个委托?

或者,如何menu向我的 UIControl 子类添加属性?我知道 UIControl 有一个名为的属性contextMenuInteraction,显然是自动填充的,但我不明白如何使用该属性。我知道控件必须实现委托方法(UIContextMenuConfiguration *)contextMenuInteraction:(UIContextMenuInteraction *)interaction configurationForMenuAtLocation:(CGPoint)location,但是在该方法中,我只是构造 UIContextMenuInteraction 对象吗?设置menu属性后,如何让它调用委托方法?

本质上,我希望能够menu在我的 UIControl 子类中模仿 UIButton 类的属性。但如果不是这样,那么我至少想弄清楚如何支持多个上下文菜单都共享同一个委托。