问题标签 [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 回答
475 浏览

ios - UICollectionView 重新排序:交互式移动还是拖放?

从 iOS 9 开始,UICollectionView 支持通过beginInteractiveMovement及其兄弟方法进行交互式移动。从 iOS 11 开始,它还支持拖放,这似乎也支持移动。在 iOS 13 beta 4 中,拖放手势与UIContextMenuInteraction动画(Twitter 链接)相结合,因此您可以从上下文菜单过渡到拖动操作,但通过交互式移动 API 重新排序时,情况并非如此。

使用拖放来实现集合视图中项目的交互移动是否更好?

0 投票
1 回答
1085 浏览

ios - 在显示 UIContextMenu 时从 UICollectionView 删除项目时出现奇怪的动画

UIContextMenuInteraction用来显示上下文菜单UICollectionView如下:

一切正常,但是当我点击“删除”项目时,会出现一个奇怪的动画,删除的项目在其他项目移动时停留在原位,然后它立即消失。有时我什至会在新项目出现之前的几分之一秒内看到一个空白区域或随机项目。

如果我collectionView.deleteItems()在未显示上下文菜单时调用,则删除动画按预期工作。

0 投票
0 回答
473 浏览

ios - 在iOS应用程序中的上下文菜单消失后,索引路径中的选择行不起作用

我正在UIContextMenu我的应用程序中实施。它运行得很好。只有一个问题,一旦上下文菜单出现和消失,tableView代理didSelectRowAtindexPath 在第一次点击时不起作用,但在第二次点击时起作用。我似乎无法找到造成这种情况的原因。它在 iPhone 的默认邮件应用程序中运行良好。因此,我认为我可能会遗漏一些东西。帮帮我。回应表示赞赏。

我已经尝试过的是重新加载tableView。在文档中也找不到任何有用的东西。

这是tableView我实现的委托。每件事都很好。我想要的只是在上下文菜单消失后第一次点击时选择委托运行。

0 投票
1 回答
465 浏览

ios - ios 13 UIContextMenu 显示缩短的 UIAction 标题

我决定添加UIContextMenuInteraction到我的UITableViewCell,它工作正常,但有 9+ 个字母(无图像)或 6+ 个字母(有图像)的标题正在缩短,如下所示:

在此处输入图像描述

委托方法的实现:

0 投票
3 回答
1571 浏览

ios - 如何隐藏 UIContextMenuInteraction/UITargetedPreview 黑色背景?

我想将 UIContextMenuInteraction 添加到带有一些透明部分的 UIView 中。当用户与此视图交互时,iOS 会以黑色背景显示此视图。

在此处输入图像描述

是否可以使这些部分透明或更改颜色?

0 投票
2 回答
992 浏览

ios - 如何使用 UIPreviewParameters 将文本范围指定为 UIContextMenuInteraction 的突出显示预览而不隐藏视图的其余部分?

iOS 13.4(2020 年 3 月)更新:

UIPointerInteraction将鼠标悬停在链接上时也会发生这种情况。


当用户长按链接时,我有一个显示富文本并显示 iOS 13 上下文菜单的视图。当用户开始长按时,我希望能够仅突出显示链接而不是整个视图。

为此,我提供了一个UITargetedPreview对象,其中包含要在视图中突出显示的每行UIPreviewParameters的s。这正确地突出了链接,但也有隐藏视图其余部分的不良副作用CGRectUIContextMenuInteractionDelegate

这张图说明了这个问题:

在此处输入图像描述

请注意,当链接正确突出显示时,视图的其余部分会随着链接的长按然后释放而闪烁。

将此与 Apple 自己的 Notes.app 中的行为进行比较:

在此处输入图像描述

请注意,当长按链接时,视图的其余部分不会消失。这在 Apple 的其他应用程序(例如 Safari)中也可以正常工作。


UITargetedPreview通过以下方式向交互委托提供 s:

UITargetedPreview我在and的文档中找不到任何内容UIPreviewParameters,所以有人知道如何做到这一点吗?

0 投票
1 回答
663 浏览

ios - 激活 iOS 13 上下文菜单时,如何防止 UIScrollView 放大一吨?

如果您有一个UIScrollView可以放大的,并且您将 iOS 13 上下文菜单交互添加到滚动视图内的视图(例如: a UIImageView),当您执行交互时,它会奇怪地暂时放大图像,然后将其缩小显示上下文菜单,然后在退出此上下文菜单时,它会使图像放大得很远。它似乎超出了 UIImageView 的范围。

StackOverflow 似乎不支持嵌入视频/GIF,所以这是 Imgur 上的一段视频,显示了我的意思:https ://imgur.com/mAzWlJA

有没有办法防止这种行为?例如,在WKWebViewUIScrollView子类)中,长按图像不会表现出这种行为。

如果您想在一个简单的新 Xcode 项目中测试它,下面是显示它的示例的简单代码:

cat.jpg如果你也喜欢的话,这里是: https ://imgur.com/hTTZaw4

0 投票
0 回答
180 浏览

ios - UIContextMenuInteraction 在交互和向下移动 tableView 时给出 NSLayoutConstraint 警告

我必须UITableView在不同的单元格中显示一系列数据。我添加了一个UIContextMenuInteractiontableView以便我可以与每个单元格交互并获得预览。当我在任何单元格上执行交互时,它首先会给出一堆约束警告。在警告中,它提到了groupView我从不引用或访问的 a,除非它是默认的上下文菜单内容。

此外,当退出交互时,tableView 在恢复正常之前通过将 tableView 向下移动来表现怪异 - 请参见此处:https ://streamable.com/3g5byj


代码:


约束警告:

0 投票
1 回答
367 浏览

ios - iPadOS:防止 UIContextMenuInteraction 在不使用指针时触发

UIMenu对比UIContextMenuInteraction对比UIPointerInteraction

UIContextMenuInteraction我正在尝试以与“文件”或“页面”应用程序相同的方式进行设置:

  • (长)点击空白处任意位置显示黑色横线UIMenu
  • 使用指针在空白区域的任意位置单击辅助(右键/控制)显示上下文菜单

请参阅下面附加的 GIF 上的演示。

我能够设置UIContextMenuInteractionUIContextMenuInteractionDelegate返回UIContextMenuConfiguration我想要显示的项目。

小黑也是一样UIMenu,我可以使用UILongPressGestureRecognizer并显示菜单UIMenuController.shared.showMenu

但是,我无法阻止在长按视图时UIContextMenuInteraction触发和显示,UITargetedPreview现在似乎有一种方法可以通过UITouchType提供给UIContextMenuInteractionDelegate.

我也找不到如何以编程方式显示上下文菜单,没有UIContextMenuInteraction. 有没有办法做到这一点?

问题

这在 Files.app 中是如何实现的?

Files.app ui 菜单和上下文菜单交互

0 投票
1 回答
169 浏览

autolayout - Swift 编程 UI UIContextMenuInteraction 打开上下文菜单时自动布局错误(groupView)

我有一个带有程序化 UI 的应用程序(没有故事板)。我将上下文菜单添加到我的视图控制器的按钮。打开此菜单时(点击并按住按钮),我在控制台中收到 LayoutConstraints 警告/错误(否则菜单可以正常工作:

这个groupView不是我的视图!我已经设置translatesAutoresizingMaskIntoConstraints = false了我所有的自定义控件(标签、字段等)。我想我需要将它设置为某个地方的上下文菜单,但我不知道如何或在哪里。

相关代码:

在我的视图控制器中:

代理扩展:

任何帮助表示赞赏!