当前位置: 首页 > 面试题库 >

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

伊光赫
2023-03-14
问题内容

我正在使用以下代码以编程方式导航到另一个ViewController。它可以正常工作,但是在某种程度上隐藏了navigation bar
我该如何解决? (如果需要ViewControllernavigation controller话,可通过将嵌入来创建导航栏。)

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

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

问题答案:

斯威夫特5

默认的模式呈现样式是卡片。这在顶部显示了以前的视图控制器,并允许用户滑动显示的视图控制器。

为了保留旧样式,您需要修改视图控制器,如下所示:

newViewController.modalPresentationStyle = .fullScreen

对于以编程方式创建和情节提要创建的控制器来说都是相同的。

迅捷3

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

如果要导航到以编程方式创建的Controller,请执行以下操作:

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

通过StoryBoard创建控制

如果要使用标识符“ newViewController”导航到StoryBoard上的Controller,请执行以下操作:

let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let newViewController = storyBoard.instantiateViewController(withIdentifier: "newViewController") as! NewViewController
        self.present(newViewController, animated: true, completion: nil)


 类似资料:
  • 问题内容: 从第一个视图控制器导航到第二个视图控制器时收到错误消息。我的编码就是这样 问题是我总是收到这种错误消息 问题答案: 我已经找到答案了 斯威夫特4 迅捷3

  • 问题内容: 题 如何仅使用按钮的touch up内部事件从一个视图控制器导航到另一个视图控制器? 更多信息 我在一个示例项目中尝试执行的步骤是: 创建示例单视图应用程序。 为用户界面(ViewController2)添加一个新文件->具有XIB的Objective-C类。 在ViewController.xib中添加一个按钮,并控制单击ViewController.h的按钮以创建内部补全事件。 转

  • 问题内容: 描述性示例: 登录屏幕,用户点击“登录”按钮,执行请求,UI显示等待指示器,然后在成功响应后,我想自动将用户导航到下一个屏幕。 如何在SwiftUI中实现这种自动转换? 问题答案: 成功登录后,可以使用登录视图替换下一个视图。例如: 您应该在数据模型中处理登录过程,并使用绑定(例如)传递到视图。 注意: 在Xcode中 11.0版测试4 ,以符合协议 “BindableObject”

  • 我有一个导航视图控制器,它会在操作时向选项卡栏视图控制器发送一个序列。因此,选项卡式视图控制器继承了导航栏。我正在尝试将标题应用于连接到选项卡栏视图控制器的其中一个视图控制器,但通过代码设置标题对我不起作用。有人知道为什么会这样吗? 这是我的故事板的图片: 带有注销按钮的视图控制器是我试图在导航条(代码)中设置标题的地方: 导航控制器中嵌入的视图控制器触发到选项卡栏控制器的顺序:

  • 我有两个活动,一个使用导航图,另一个不使用。如何从不使用导航控制器的活动导航到导航图中的片段? 我试图从ImportMonsterActivity(在将新实体添加到db之后)导航到MainActivity导航图中的EditMonsterFragment。 我想我应该能够创建一个正常的意图,并给它一些额外的东西来指定导航图中的位置,但是我没有找到这种导航的任何留档。一切要么使用另一个应用程序的深层链