热门标签 | HotTags
当前位置:  开发笔记 > IOS > 正文

如何在iOS13中窥视和弹出视图控制器

如何解决《如何在iOS13中窥视和弹出视图控制器》经验,请问有什么解决方案?

在iOS 13中不推荐使用Peek and pop(UIViewControllerPreviewing)。它将替换为新的contextMenuInteraction东西。

那么,如何直接替换偷看和弹出?换句话说,如何将目标视图控制器显示为预览(预览),然后让用户从那里弹出以显示实际的目标视图控制器?

这是我正在尝试的方法,但与旧的“窥视”和“流行乐”不同:

override func viewDidLoad() {
    super.viewDidLoad()
    let inter = UIContextMenuInteraction(delegate: self)
    self.view.addInteraction(inter)
}

func contextMenuInteraction(_ inter: UIContextMenuInteraction, 
    configurationForMenuAtLocation loc: CGPoint) -> UIContextMenuConfiguration? {
        let cOnfig= UIContextMenuConfiguration(identifier: "preview" as NSString, 
            previewProvider: { SecondViewController() }, actionProvider: nil)
        return config
}

func contextMenuInteraction(_ interaction: UIContextMenuInteraction, 
    willCommitWithAnimator animator: UIContextMenuInteractionCommitAnimating) {
        // animator.preferredCommitStyle = .pop
        if let vc = animator.previewViewController {
            animator.addCompletion {
                self.present(vc, animated: true, completion: nil)
            }
        }
}

在此简单测试中,我们可以长按以查看第二个视图控制器的预览,从而成为第一个视图控制器的整个背景视图。发生的是,我们确实看到了预览,用户可以点击它。但是,然后关闭预览,然后显示第二个视图控制器。

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

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

有人知道吗?

编辑苹果自己的应用程序也无法正确执行此操作。在“照片”应用程序中,如果长按照片以获取上下文菜单并进行预览,如果您点击预览,则将其关闭,然后被推送的图像会突然出现。此外,如果您随后尝试返回(点按“后退”按钮),则会崩溃。


推荐阅读
  • 最近购买了惠普ENVY 15 X360笔记本,配备了10代酷睿处理器、8GB内存和512GB SSD,以及MX330独立显卡。这款二合一设备使用体验极佳,但硬盘容量稍显不足。本文将详细介绍如何将其升级至1TB SSD并成功迁移系统。 ... [详细]
  • 解决启动时遇到 'NTLDR is Missing' 错误
    本文详细介绍了如何解决 Windows XP 系统启动时出现的 'NTLDR is Missing' 错误,提供了多种修复方法。 ... [详细]
  • 本文详细介绍了在 React Native 开发过程中遇到的 'Could not connect to development server' 错误及其解决方法。该问题不仅影响开发效率,而且难以通过网络资源找到确切的解决方案。本文将提供详细的步骤,帮助开发者快速解决这一常见问题。 ... [详细]
  • 微信小程序详解:概念、功能与优势
    微信公众平台近期向200位开发者发送了小程序的内测邀请。许多人对微信小程序的概念还不是很清楚。本文将详细介绍微信小程序的定义、功能及其独特优势。 ... [详细]
  • 本文提供了一个C++程序,用于读取一系列整数并统计其中正整数和负整数的个数。当输入为0时,程序结束。 ... [详细]
  • 对于众多创业公司而言,选择小程序或小视频的发展方向至关重要。本文将深入分析小程序和小视频的特点、优势及局限,帮助创业者做出更明智的选择。 ... [详细]
  • Dell Latitude 5290 2-in-1 平板电脑黑苹果体验评测
    本文基于notebookcheck的详细数据和个人实际使用体验,对Dell Latitude 5290 2-in-1平板电脑进行评测。评测内容包括外观设计、散热性能、基准测试、游戏表现和续航能力等方面,旨在为读者提供全面的参考。 ... [详细]
  • 本文详细介绍了Shell脚本中单引号、双引号和反引号的使用方法及其特点,帮助开发者更好地理解和应用这些引号。 ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 本文介绍如何使用命令行工具查看和解析 iOS 应用崩溃日志,包括 UUID 和错误代码位置的详细步骤。 ... [详细]
  • Framework7:构建跨平台移动应用的高效框架
    Framework7 是一个开源免费的框架,适用于开发混合移动应用(原生与HTML混合)或iOS&Android风格的Web应用。此外,它还可以作为原型开发工具,帮助开发者快速创建应用原型。 ... [详细]
  • 本文介绍了如何使用 CMD 批处理脚本进行文件操作,包括将指定目录下的 PHP 文件重命名为 HTML 文件,并将这些文件复制到另一个目录。 ... [详细]
  • 本文详细介绍了DMA控制器如何通过映射表处理来自外设的请求,包括映射表的设计和实现方法。 ... [详细]
  • 思科IOS XE与ISE集成实现TACACS认证配置
    本文详细介绍了如何在思科IOS XE设备上配置TACACS认证,并通过ISE(Identity Services Engine)进行用户管理和授权。配置包括网络拓扑、设备设置和ISE端的具体步骤。 ... [详细]
  • 在 iOS 开发中,内存管理是一个至关重要的环节。初学者常常因为内存管理不当导致程序崩溃。本文将详细介绍 iOS 中内存的分配与释放机制,并提供一些实用的技巧。 ... [详细]
author-avatar
892974506_bdb55d_896
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有