热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

iOS13及以后版本中强制模态展示Master-Detail控制器

本文探讨了一个场景:用户成功登录后,如何确保Master-Detail视图控制器以模态形式展示。

在我的应用中,用户成功登录后会被推送至一个Master-Detail视图控制器。然而,从iOS 13开始,这一过渡总是以模态方式呈现,而在此之前的版本中,登录屏幕是被推送到初始视图控制器,并且与之关联的主视图控制器链接了其他具有菜单功能的视图控制器。

iOS 13及以后版本中强制模态展示Master-Detail控制器

为了更好地说明这个问题,我使用了来自Ray Wenderlich教程中的Master-Detail视图结构的最终代码,并添加了一个带有按钮的视图,通过推段链接来控制视图控制器的切换。即使在Storyboard中,也能观察到Master视图控制器是以模态方式呈现的,而不是通过推送。

我附上了修改后的源代码,展示了上述问题的具体表现。同时,这里有一张截图:

调整设置示例

解决方法之一是在Storyboard中将展示类型更改为“模态”,并将展示模式设置为“全屏”。此外,如果您的初始视图控制器未嵌入导航控制器中,这可能导致视图控制器在iOS 13中无法全屏显示。您可以通过Storyboard或编程方式调整这些设置。

例如,在代码中可以这样处理:

if #available(iOS 13.0, *) {
nextViewController.modalPresentatiOnStyle= .fullScreen
}

这样可以确保无论设备的iOS版本如何,Master-Detail视图控制器都能以全屏模态方式正确展示。


推荐阅读
  • iOS 开发技巧:TabBarController 自定义与本地通知设置
    本文介绍了如何在 iOS 中自定义 TabBarController 的背景颜色和选中项的颜色,以及如何使用本地通知设置应用程序图标上的提醒个数。通过这些技巧,可以提升应用的用户体验。 ... [详细]
  • 本文详细介绍了如何在iOS5中创建和理解简单的Hello World应用,包括Interface Builder的使用、Objective-C源代码文件的结构以及事件处理机制。 ... [详细]
  • 使用Swift 2.2创建我的第一个Xcode应用
    本文将指导您如何使用Xcode 6搭建并运行一个简单的iOS应用程序。从启动Xcode到执行首个应用,每个步骤都将详细介绍。 ... [详细]
  • 本文详细介绍如何在 macOS 上编译 FFmpeg 3.1.1,并将其集成到 iOS 项目中,包括必要的环境配置和代码示例。 ... [详细]
  • iOS中UITabBar与UINavigationController的集成及样式自定义
    探讨如何在iOS开发中有效结合UITabBarController和UINavigationController,并实现自定义样式。项目源码已托管至GitHub:https://github.com/zcsoft/ZCTabNav ... [详细]
  • 作为一名在大型手机游戏公司工作的程序员,尽管主要负责游戏逻辑和内容的开发,但对iOS底层开发接触较少。现在有了iPhone和可以虚拟MAC环境的电脑,希望能找到有效的iOS开发学习路径。 ... [详细]
  • 本文介绍了iOS应用开发的主要框架,包括Foundation、UIKit、CoreData及CoreGraphics等,并探讨了开发iOS应用所需的硬件和软件环境,以及推荐的编程语言。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • Java项目分层架构设计与实践
    本文探讨了Java项目中应用分层的最佳实践,不仅介绍了常见的三层架构(Controller、Service、DAO),还深入分析了各层的职责划分及优化建议。通过合理的分层设计,可以提高代码的可维护性、扩展性和团队协作效率。 ... [详细]
  • 本文详细介绍了Grand Central Dispatch (GCD) 的核心概念和使用方法,探讨了任务队列、同步与异步执行以及常见的死锁问题。通过具体示例和代码片段,帮助开发者更好地理解和应用GCD进行多线程开发。 ... [详细]
  • 本文将详细介绍如何封装一个多功能的PickerView组件,包括文本选择、日期选择和地理位置选择等功能,旨在提供一个更加灵活和易于使用的PickerView解决方案。 ... [详细]
  • 实现‘点击恢复’功能 - Tap-to-Resume Feature in SpriteKit
    了解如何在应用程序从非活动状态返回时,在SpriteKit游戏中添加一个‘点击恢复’的文字提示。 ... [详细]
  • 本文探讨了如何在字符串中无条件地将一个值替换为另一个值,即使原值不断变化。例如,无论原始值是2、4还是5,都能将其成功替换。 ... [详细]
  • 本文总结了在使用React Native开发过程中遇到的一些常见问题及其解决方法,包括配置错误、依赖问题和特定组件的使用技巧。 ... [详细]
  • 本文档提供了在iOS开发中使用OClint进行静态代码分析的详细步骤,包括安装、更新和使用方法,以及相关资源链接。 ... [详细]
author-avatar
将登太行的2602939913
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有