Swift 以编程方式导航到另一个视图控制器/场景

2023-11-24

我正在使用以下代码以编程方式导航到另一个 ViewController。它工作得很好,但它在某种程度上隐藏了navigation bar. 我该如何解决?(导航栏是通过嵌入ViewController in the navigation controller如果这很重要的话。)

let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)

let nextViewController = storyBoard.instantiateViewControllerWithIdentifier("nextView") as NextViewController
self.presentViewController(nextViewController, animated:true, completion:nil)

Swift 5

默认的模式呈现样式是卡片。这会在顶部显示上一个视图控制器,并允许用户滑开所呈现的视图控制器。

要保留旧样式,您需要修改将要呈现的视图控制器,如下所示:

newViewController.modalPresentationStyle = .fullScreen

这对于以编程方式创建的控制器和故事板创建的控制器来说都是相同的。

Swift 3

使用以编程方式创建的控制器

如果您想导航到以编程方式创建的控制器,请执行以下操作:

let newViewController = NewViewController()
self.navigationController?.pushViewController(newViewController, animated: true)

使用 StoryBoard 创建控制器

如果您想导航到 StoryBoard 上带有标识符“newViewController”的控制器,请执行以下操作:

let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let newViewController = storyBoard.instantiateViewController(withIdentifier: "newViewController") as! NewViewController
        self.present(newViewController, animated: true, completion: nil)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swift 以编程方式导航到另一个视图控制器/场景 的相关文章

  • 如何观察UserDefaults的变化?

    我有一个 ObservedObject在我看来 struct HomeView View ObservedObject var station Station var body some View Text self station sta
  • 开发者可以在 Windows 应用程序中使用 iCloud 吗?

    开发人员可以使用 Apple 的 iCloud API 在 Mac OS X 和 iOS 上的不同版本的应用程序之间同步应用程序数据 如果开发人员拥有 Windows 版本的应用程序 该版本是否也可以使用 iCloud 将应用程序数据与 M
  • 在故事板中将 UITableView 的 rowHeight 设置为 UITableViewAutomaticDimension ?

    在 Xcode 6 中创建 iOS 8 应用程序时 如何设置 UITableViewrowHeight to UITableViewAutomaticDimension In WWDC 2014 第 226 场会议 表和集合视图中的新增功能
  • 如何在 Swift 中使用未知密钥解码 JSON 响应?

    我想将数据拆分为https blockchain info ticker https blockchain info ticker这样每一行都是它自己的String在一个数组中 我正在制作一个获取所选货币价格的应用程序 因此 如果有人想要澳
  • ReactNative - 未处理的 JS 异常:SyntaxError

    当我尝试在 iOS 8 上启动 RUN 应用程序时 出现这个奇怪的错误 Unhandled JS Exception SyntaxError仅此而已 不再有更多信息 有any1偶然发现这个问题吗 在 iOs 9 上应用程序运行正常 x代码版
  • Socket.io 400(错误请求)

    我的服务器上有这段代码 var express require express var routes require routes var user require routes user var http require http var
  • 从 NavigationController 中删除 ViewController 后 AVPlayer 继续播放

    因此 我在项目中使用 ARC 当我添加 AVPlayerLayer 时 它工作得很好 但当我从 UINavigationItem 中弹出 UIViewController 时 视频继续在后台播放 有谁知道你会如何处理这个问题 这似乎是一件很
  • 使 iOS 应用程序与 iPhone 6 和 iPhone 6 尺寸兼容 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我创建了一个应用程序 其中使用 xib 进行布局 目前我使用两种不同的 xib 一种用于iPhone4 320 480 一种用于iPh
  • 从 Mac 命令行访问 iOS 应用程序目录(沙箱)

    我需要使用 Mac 或 Linux 上的命令行 非 GUI 访问 iOS 设备上安装的应用程序的沙箱目录 这有助于开发和测试自动化 将 json 文件放入沙箱中可以让我设置参数 例如额外的调试消息和更小的刷新间隔 像 iFunBox 这样的
  • NSTimer 不触发选择器

    在带有 ARC 的 ios5 0 中 在我的 rootviewcontroller 中 我调用由应用程序委托持有的安全管理器对象中的方法 在该方法中 我设置计时器如下 NSTimer timer NSTimer scheduledTimer
  • 不明白 Swift 中的闭包示例

    我正在尝试了解 swift 和闭包 我被这个例子困住了 numbers map number Int gt Int in let result 3 number return result 什么是 number Int gt Int 它是一
  • 在 swift 中将简单字符串转换为 JSON 字符串

    我知道有一个同标题的问题here https stackoverflow com questions 30825755 convert string to json string in swift 但在那个问题中 他试图将字典转换为 JSO
  • Swift 中的柯里函数

    我想创建一个返回柯里函数的函数 如下所示 func addTwoNumbers a Int b Int gt Int return a b addTwoNumbers 4 b 6 Result 10 var add4 addTwoNumbe
  • Xcode 10 Beta 5 — clang:错误:链接器命令失败,退出代码为 1

    有人可以帮我吗 我的项目一切正常 但更新到 Xcode10 Beta5 后 尝试在 iPhone 上运行该应用程序时出现此错误 然而模拟器可以工作 请帮助我 我已经对这个问题进行了网络搜索并发现this https stackoverflo
  • 如何使用 Core Graphics 在我的触摸位置绘制一个圆圈?

    新程序员来了 我在尝试使用 Core Graphics 在触摸位置周围绘制描边弧时遇到问题 我有绘制圆圈的方法工作正常 并且我已经测试并在点击屏幕时注册触摸 但是当我尝试在点击时调用绘制圆圈的方法时 我收到错误 CG ContextBlah
  • NSCFData fastCharacterContents 崩溃? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我目前在控制台中收到此崩溃日志 20
  • 将 UIButton 中的图像缩放到 AspectFit?

    我想将图像添加到 UIButton 并且还想缩放图像以适合 UIButton 使图像变小 请告诉我该怎么做 这是我尝试过的 但它不起作用 将图像添加到按钮并使用setContentMode self itemImageButton setI
  • ios 导航 堆栈操作

    我在尝试从 iOS 应用程序操作导航堆栈时遇到问题 或者至少是由于这种操纵而产生的行为 我的情况 我有 3 个 ViewController 控制器a显示多个级别 控制器 b 是游戏视图 控制器 c 是某种分数 显然 我将在控制器 a 中选
  • ios - Gamekit 的 GKOctree 未找到元素

    我正在尝试使用GKOctree https developer apple com documentation gameplaykit gkoctree用于高效检索 3D 空间中的对象 然而 以下代码似乎没有按预期工作 import Gam
  • 设置/覆盖 UICollectionView 中单元格之间的填充

    我有一个 UICollectionView 但在获取单元格之间的填充时遇到了问题 理论上 我应该能够将屏幕除以 4 并且我可以获得包含 4 个图像的单元格大小 完美地占据屏幕宽度 但是 它选择不这样做 相反 它会创建 3 个具有巨大填充的图

随机推荐

  • Laravel UTF-8 到数据库

    我正在使用 Eloquent 将一个新人 save 到我的数据库中 人名包含特殊字符 并且它没有提交 这是我的步骤和结果 echo Input get firstname Migu l 这给了我这个 Migu l 当我开始使用 eloque
  • Foldr 与 Foldl(或 Foldl')的含义

    首先 现实世界哈斯克尔我正在读的书说永远不要使用foldl并改为使用foldl 所以我相信它 但我不知道什么时候使用foldr vs foldl 尽管我可以看到它们以不同方式工作的结构摆在我面前 但我太愚蠢了 无法理解什么时候 哪个更好 我
  • 使用 Git 内部的 Winmerge 来归档 diff

    有没有办法在 git 内部使用 Winmerge 来进行 Diffs 6 年后 2015 年 6 月更新 详见 git mergetool winmerge 一个简单的git config diff tool winmerge就足够了 Gi
  • 允许同时创建多少个AVPlayer?

    我有一个collectionView和每个cell has an AVPlayer即将播放 所以每个细胞都在同时播放视频 iOS 好像只允许同时播放 16 个视频 例如 请查看下面我的示例应用程序 满分 50cells 只有 16 人开始播
  • 从动作脚本库中检测 AIR 与 Flash Player

    我有一个 SWC 其操作方式需要略有不同 具体取决于它是否由 AIR 托管 我在网上看到了两个建议 测试 WindowedApplication 的 Application application 测试 Security sandboxTy
  • Ruby on Rails 中自动递增非主键字段

    在RoR迁移中 如何自动递增非主键字段 我想在数据库定义中而不是在模型中执行此操作 您需要执行一条 SQL 语句 statement ALTER TABLE users CHANGE id id SMALLINT 5 UNSIGNED NO
  • 隐藏解释器导入的模块

    我构建了一个模块 它使用几个不同的模块来完成各种任务 当我在 IPython 中导入模块并列出可用于自动完成的函数时 这些外部模块包含在该列表中 是否有可能以某种方式隐藏它们 在Python中 模块可以定义一个 all 变量 它是某人执行以
  • MVC“添加控制器”是“无法检索元数据...配置系统无法初始化”

    我从头开始创建了一个包含两个项目的新解决方案 一个是 MVC 3 另一个是支持 EF 4 2 项目 整个事情构建成功 我从 MVC 项目中打开 添加控制器 对话框 并让它根据我从支持 EF 项目中选择的上下文和模型生成代码 添加控制器 对话
  • 后台计时器更新 UI?

    我的申请遇到了一点问题 我想每 10 秒更新一次 UI 上的内容 我首先使用了一个DispatcherTimer为此 但它会在短时间内阻止我的 UI 因为更新方法需要从网络加载某些内容 并且此操作需要一些时间 现在我想到了某种后台工作者 然
  • Windows批处理脚本解析CSV文件并输出文本文件

    我在另一个页面上看到了回复 帮助编写批处理脚本来解析 CSV 文件并输出文本文件 出色的代码顺便说一句 ECHO OFF IF 1 GOTO EOF SET filename 1 SET fcount 0 SET linenum 0 FOR
  • 在某个短语之后分割字符串?

    我有一批绳子需要剪掉 它们基本上是一个描述符 后面跟着代码 我只想保留描述符 a descriptor dps 23 fd another 23 fd and another fd and one without a code 上面的代码是
  • 在没有无限摘要的情况下从 Angular 成功调用history.pushState()?

    有办法打电话吗history pushState 没有角度进入无限消化循环 我正在尝试将我的应用程序从后端路由迁移到前端路由 并且所有 stackoverflow 帖子 google 资源似乎都没有答案 这就是我们基于 github 评论在
  • 如何添加 IDesignTimeDbContextFactory 的实现以添加迁移到 .Net core 2.0 应用程序?

    我正在尝试从 NET Core 2 0 MVC 应用程序的包管理器控制台运行 Add Migration InitialCreate 命令 查看所有可能的来源后仍然无法解决问题 错误描述为 PM gt Add Migration Initi
  • 如何在 Neo4j 2.2.0-RC01 上禁用基本身份验证

    目前我使用 Neo4j 2 2 0 RC01 它默认启用基本身份验证 如何禁用 Neo4j 2 2 0 RC01 上的默认基本身份验证 In file conf neo4j server properties 将 dbms security
  • 为什么在 C++ 中使用 try 和 catch()?

    我明白那个try and catch 用于异常处理 以防在某些情况下程序发生错误或崩溃 我也了解它们是如何工作的 但为什么要使用try and catch 为什么不直接使用if 查找特定案例的语句 如果该案例为真 则确实如此cout lt
  • 如何在Java中用空字符串替换'

    如何在 Java 中将单引号 替换为空字符串 我尝试跟随但似乎不起作用 String data Sid s den data replace data replaceAll 提前致谢 非常感谢任何帮助 输出应该是 Sids den 谢谢大家
  • Django filter() 查找类型文档

    我查看了 Django 的文档并用 Google 搜索了该短语的每个变体 但我找不到任何准确描述查找类型行为的文档 app objects filter column lookuptype criteria 我找到了有关我的查找类型的文档c
  • 为什么向 Double.MaxValue 添加数字不会使其成为 Double.PositiveInfinity?

    In 双正无穷文档中写道 当运算结果大于 MaxValue 时返回该常量 但是 当我尝试将数字添加到最大值时double 它不会返回infinity 我尝试过运行这个 double maxVal Double MaxValue maxVal
  • Python PDFMIner - PDF 到 CSV

    我希望能够将 PDF 转换为 CSV 文件 并找到了几个有用的脚本 但是作为 Python 新手 我有一个问题 在哪里指定要打印到的 PDF 和 CSV 的文件路径 我正在使用 Python 2 7 11 和 PDFMiner 201403
  • Swift 以编程方式导航到另一个视图控制器/场景

    我正在使用以下代码以编程方式导航到另一个 ViewController 它工作得很好 但它在某种程度上隐藏了navigation bar 我该如何解决 导航栏是通过嵌入ViewController in the navigation con