问题标签 [peek-pop]

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 投票
2 回答
510 浏览

ios - ios - Peek and Pop - 在 UITableViewCell 内的 UICollectionView 内保持 UIImageView 的角半径

我的观点是这样的:

UIImageView 被命名为'icon',它的层有一定的圆角半径。我已经为 Collection View 中的项目实现了 Peek 和 Pop 并且它可以工作,但我无法弄清楚如何在预览框架中包含图像的角半径。

这就是我注册 tableView 以进行预览的方式:

这是我的预览功能(灵感来自这里):

这是我在提交新视图控制器之前强制触摸图像时在预览帧中得到的内容(因此外部模糊):

图像1

这就是我想要实现的,图像的角半径被保留(来自 App Store 的屏幕截图):

图2

通过阅读其他帖子,我认为问题在于我注册了整个 tableView 以进行预览,而不是其单元格。但是,我找不到适用于表视图单元格内的集合视图单元格的解决方案。

任何帮助表示赞赏。

0 投票
1 回答
294 浏览

ios - UIStackView Peek 和 Pop 覆盖故障

我正在尝试使用UIStackView. 问题是浅压期间的覆盖(未模糊的部分)不包含正确的内容。它在正确的位置,因为它就在我手指的正下方,但内容似乎是从视图中的其他地方获取的:例子

重现步骤:

  1. 使用情节提要打开一个空的 iOS 项目
  2. UIStackView在视图控制器的视图中添加一个
  3. 从堆栈视图的所有四个侧面添加最近邻居约束等于0
  4. 将 的内容替换为ViewController.swift以下代码:

    /li>
  5. 在您的(物理)设备上运行应用程序并在任何地方强制触摸

我做错了什么,或者这是 UIKit 中的错误?

编辑:这就是我期望它的行为方式:例子

0 投票
1 回答
420 浏览

ios - 3d Peek & Pop 搜索结果

我使用搜索栏来过滤我的表格视图。我在显示可搜索内容的同一视图控制器中显示搜索结果。它工作正常。除了一件事 - 3d Peek and Pop 不适用于搜索结果。我确实尝试了 Storyboard segue 中的“Peek & Pop”复选框。我确实尝试在我的 TableViewController 中编程 peek & pop。结果是一样的:peek & pop 适用于表格视图单元格,但不适用于搜索结果单元格。

以下是搜索和 peek & pop 代码片段:

有没有人知道如何为搜索结果实现 peek & pop?

我想主要问题是如何注册预览 UISearchController?..

0 投票
0 回答
529 浏览

ios - 索引路径中项目的快速定位?

我正在使用集合视图,并且正在尝试设置 peek & pop 来使用它。我已经覆盖:

我正在尝试使用 location 变量检索我单击的项目的索引路径。

位置似乎是正确的,但由于某种原因collectionView.indexPathForItem(at: location)返回了错误的索引路径。

我知道如何解决这个问题,但我不确定在 Swift 中是否可行。这是我的想法:

使用该函数indexPathForVisibleItems检索所有可用的 IndexPath。遍历这些 IndexPaths 并使用一个函数,locationForItem(at: indexPath)如果它存在的话,它会被调用。然后我可以根据它的位置找到正确的 IndexPath。

如果这是不可能的,我想知道是否有其他人有同样的问题,它在哪里返回完全错误的索引路径?我认为正在发生的事情是我单击的位置可能有多个单元格,它正在抓取视图层次结构中的顶部单元格,并返回该顶部单元格的 indexPath,这可能是这个 Z 中唯一的一个 -指数。

是否可以检索某个位置的所有索引路径?

代码:

0 投票
1 回答
221 浏览

ios - searchController 处于活动状态时,3D Touch 不起作用

我已经用 uicollectionview 实现了 3D Touch,效果很好。但是当 uisearchController 处于活动状态时,3D Touch 不起作用。uisearchController 使用 collectionView 来显示结果。以下帖子存在相同问题: 搜索结果的 3d Peek & Pop

有人有同样的问题吗?谢谢

我想出了解决方案:

扩展 MyViewController: UISearchControllerDelegate {

}

0 投票
1 回答
239 浏览

ios - 变换反转的表格视图单元格中的 3D Touch Peek

我有一个聊天应用程序,我正在使用倒置表格视图技术(表格视图通过变换缩放到 (1, -1),并且所有单元格本身也缩放到 (1, -1),中和了效果,从而有效地反转表格视图以在底部显示“第一个”单元格)从底部“启动”表格视图。一切正常,除了我需要实现 peek 和 pop 手势。我已将表格视图单元格内的按钮连接到目标视图控制器,并启用 peek 和 pop,如下所示:

在此处输入图像描述

手势有效,但当我部分 3D 触摸并按住足以突出触摸的项目(但不弹出预览视图控制器)时,我得到了倒置视图:

在此处输入图像描述

如何使视图弹出正确的变换,同时仍使用倒置表视图?

0 投票
0 回答
213 浏览

ios - Peek and Pop - 防止预览控制器消失

我正在尝试实现 Peek & Pop,到目前为止,当用户执行 3d 触摸手势时,我已经成功地展示了我的预览控制器。但是,即使在用户释放他的 3d 触摸手势之后,我也希望将预览控制器保持在原位。我很确定当预览具有关联的操作时,这会自动发生,但就我而言,我没有任何操作。

是否有任何标准或简单的方法来实现这一目标?我试图环顾四周,但到目前为止我还没有取得任何成功。


附加问题 - 我的预览控制器似乎应用了一些默认转换,使其看起来更小(或缩小)。有什么方法可以删除它并获得与未通过窥视呈现相同的外观?


如果它有帮助,这是我到目前为止的代码(它在 a 里面UITableViewController

0 投票
1 回答
100 浏览

ios - Peek & pop 不会仅在最后一个单元格上触发

我有一个包含列表的 ProfileVC。我可以单击任何行单元格将显示 peek and pop 功能。

ProfileVC.swift

我添加了扩展名

然后,在我注册的同一个文件ProfileVC.swiftviewDidLoad()


结果

我不知道为什么我不能点击第四个单元格。

该行的最后一个单元格不会触发 Peek & Pop。

如何进行并进一步调试呢?

0 投票
0 回答
59 浏览

ios - Peek 和 Pop 泄漏 mainWindow.rootViewController

当我使用 3D Touch Peek 和 Pop 视图控制器时,我的应用程序UIApplication.shared.delegate?.window??.rootViewController被 Apple 保留_UIFullScreenPresentationController

因此,如果我切换 rootViewController,则永远不会释放旧的。

我制作了一个演示应用程序来帮助理解: https ://github.com/rapinto/PeekAndPopLeak

重现步骤:

  • 3d touch 在根的背景上ViewController推一个新的ViewController.
  • 按下按钮切换应用程序rootViewController
  • 打开 Debug Memory Graph Xcode 工具:现在有 2 个活ViewController
  • 可选:如果重复步骤 1 到 3,ViewController则会泄漏更多

取消注册预览上下文并不能解决它。

在此处输入图像描述在此处输入图像描述

任何人都可以帮助我吗?

PS:如果您不偷看并弹出第二个ViewControllerrootViewController则不会保留/泄漏

0 投票
1 回答
1978 浏览

ios - 如何在 iOS 13 中查看和弹出视图控制器

Peek and pop (UIViewControllerPreviewing) 在 iOS 13 中已弃用。它将被新的contextMenuInteraction东西取代。

那么如何直接替换 peek and pop 呢?换句话说,我如何将目标视图控制器显示为预览(peek),然后让用户从那里弹出到实际目标视图控制器的呈现?

这是我正在尝试的,但它与旧的 peek and pop 不同:

在这个简单的测试中,第一个视图控制器的整个背景视图变成了一个我们可以长按查看第二个视图控制器预览的地方。发生的情况是我们确实看到了预览,并且用户可以点击它。但随后预览被解除,然后出现第二个视图控制器。

那不是偷看和流行。Peek and pop 意味着预览成为第二个视图控制器。它应该成长为演示文稿(“流行音乐”)。

我尝试将动画师设置preferredCommitStyle.pop(如注释掉的行所示),但没有任何区别。

有没有人弄清楚这一点?

编辑Apple 自己的应用程序也不能正确执行此操作。在照片应用程序中,如果您长按一张照片以获取上下文菜单和预览,如果您点击预览,它会被关闭,然后推送的图像会突然出现。此外,如果您尝试返回(点击返回按钮),您会崩溃。