问题标签 [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.
ios - UICollectionView 重新排序:交互式移动还是拖放?
从 iOS 9 开始,UICollectionView 支持通过beginInteractiveMovement
及其兄弟方法进行交互式移动。从 iOS 11 开始,它还支持拖放,这似乎也支持移动。在 iOS 13 beta 4 中,拖放手势与UIContextMenuInteraction
动画(Twitter 链接)相结合,因此您可以从上下文菜单过渡到拖动操作,但通过交互式移动 API 重新排序时,情况并非如此。
使用拖放来实现集合视图中项目的交互移动是否更好?
ios - 在显示 UIContextMenu 时从 UICollectionView 删除项目时出现奇怪的动画
我UIContextMenuInteraction
用来显示上下文菜单UICollectionView
如下:
一切正常,但是当我点击“删除”项目时,会出现一个奇怪的动画,删除的项目在其他项目移动时停留在原位,然后它立即消失。有时我什至会在新项目出现之前的几分之一秒内看到一个空白区域或随机项目。
如果我collectionView.deleteItems()
在未显示上下文菜单时调用,则删除动画按预期工作。
ios - 在iOS应用程序中的上下文菜单消失后,索引路径中的选择行不起作用
我正在UIContextMenu
我的应用程序中实施。它运行得很好。只有一个问题,一旦上下文菜单出现和消失,tableView
代理didSelectRowAt
indexPath 在第一次点击时不起作用,但在第二次点击时起作用。我似乎无法找到造成这种情况的原因。它在 iPhone 的默认邮件应用程序中运行良好。因此,我认为我可能会遗漏一些东西。帮帮我。回应表示赞赏。
我已经尝试过的是重新加载tableView
。在文档中也找不到任何有用的东西。
这是tableView
我实现的委托。每件事都很好。我想要的只是在上下文菜单消失后第一次点击时选择委托运行。
ios - 如何使用 UIPreviewParameters 将文本范围指定为 UIContextMenuInteraction 的突出显示预览而不隐藏视图的其余部分?
iOS 13.4(2020 年 3 月)更新:
UIPointerInteraction
将鼠标悬停在链接上时也会发生这种情况。
当用户长按链接时,我有一个显示富文本并显示 iOS 13 上下文菜单的视图。当用户开始长按时,我希望能够仅突出显示链接而不是整个视图。
为此,我提供了一个UITargetedPreview
对象,其中包含要在视图中突出显示的每行UIPreviewParameters
的s。这正确地突出了链接,但也有隐藏视图其余部分的不良副作用。CGRect
UIContextMenuInteractionDelegate
这张图说明了这个问题:
请注意,当链接正确突出显示时,视图的其余部分会随着链接的长按然后释放而闪烁。
将此与 Apple 自己的 Notes.app 中的行为进行比较:
请注意,当长按链接时,视图的其余部分不会消失。这在 Apple 的其他应用程序(例如 Safari)中也可以正常工作。
我UITargetedPreview
通过以下方式向交互委托提供 s:
UITargetedPreview
我在and的文档中找不到任何内容UIPreviewParameters
,所以有人知道如何做到这一点吗?
ios - 激活 iOS 13 上下文菜单时,如何防止 UIScrollView 放大一吨?
如果您有一个UIScrollView
可以放大的,并且您将 iOS 13 上下文菜单交互添加到滚动视图内的视图(例如: a UIImageView
),当您执行交互时,它会奇怪地暂时放大图像,然后将其缩小显示上下文菜单,然后在退出此上下文菜单时,它会使图像放大得很远。它似乎超出了 UIImageView 的范围。
StackOverflow 似乎不支持嵌入视频/GIF,所以这是 Imgur 上的一段视频,显示了我的意思:https ://imgur.com/mAzWlJA
有没有办法防止这种行为?例如,在WKWebView
(UIScrollView
子类)中,长按图像不会表现出这种行为。
如果您想在一个简单的新 Xcode 项目中测试它,下面是显示它的示例的简单代码:
cat.jpg
如果你也喜欢的话,这里是: https ://imgur.com/hTTZaw4
ios - UIContextMenuInteraction 在交互和向下移动 tableView 时给出 NSLayoutConstraint 警告
我必须UITableView
在不同的单元格中显示一系列数据。我添加了一个UIContextMenuInteraction
,tableView
以便我可以与每个单元格交互并获得预览。当我在任何单元格上执行交互时,它首先会给出一堆约束警告。在警告中,它提到了groupView
我从不引用或访问的 a,除非它是默认的上下文菜单内容。
此外,当退出交互时,tableView 在恢复正常之前通过将 tableView 向下移动来表现怪异 - 请参见此处:https ://streamable.com/3g5byj
代码:
约束警告:
ios - iPadOS:防止 UIContextMenuInteraction 在不使用指针时触发
UIMenu
对比UIContextMenuInteraction
对比UIPointerInteraction
UIContextMenuInteraction
我正在尝试以与“文件”或“页面”应用程序相同的方式进行设置:
- (长)点击空白处任意位置显示黑色横线
UIMenu
- 使用指针在空白区域的任意位置单击辅助(右键/控制)显示上下文菜单
请参阅下面附加的 GIF 上的演示。
我能够设置UIContextMenuInteraction
并UIContextMenuInteractionDelegate
返回UIContextMenuConfiguration
我想要显示的项目。
小黑也是一样UIMenu
,我可以使用UILongPressGestureRecognizer
并显示菜单UIMenuController.shared.showMenu
。
但是,我无法阻止在长按视图时UIContextMenuInteraction
触发和显示,UITargetedPreview
现在似乎有一种方法可以通过UITouchType
提供给UIContextMenuInteractionDelegate
.
我也找不到如何以编程方式显示上下文菜单,没有UIContextMenuInteraction
. 有没有办法做到这一点?
问题
这在 Files.app 中是如何实现的?
autolayout - Swift 编程 UI UIContextMenuInteraction 打开上下文菜单时自动布局错误(groupView)
我有一个带有程序化 UI 的应用程序(没有故事板)。我将上下文菜单添加到我的视图控制器的按钮。打开此菜单时(点击并按住按钮),我在控制台中收到 LayoutConstraints 警告/错误(否则菜单可以正常工作:
这个groupView不是我的视图!我已经设置translatesAutoresizingMaskIntoConstraints = false
了我所有的自定义控件(标签、字段等)。我想我需要将它设置为某个地方的上下文菜单,但我不知道如何或在哪里。
相关代码:
在我的视图控制器中:
代理扩展:
任何帮助表示赞赏!