Swift学习笔记——页面跳转

简介: 创建一个single view app后,项目中有main.storyboard,里面是一个viewcontroller。那么我们如何实现页面跳转首先添加一个导航控制器Navigation Controller。点击右上的➕,然后选择控件拖到面板上即可

Navigation Controller


创建一个single view app后,项目中有main.storyboard,里面是一个viewcontroller。

那么我们如何实现页面跳转

首先添加一个导航控制器Navigation Controller。点击右上的➕,然后选择控件拖到面板上即可

网络异常,图片无法展示
|


添加完可以发现storyboard中多了一个Navigation Controller Scene和一个Root View Controller Scene,其中Root View Controller Scene是默认添加的根页面。

网络异常,图片无法展示
|


可以看到入口仍然是我们之前的 View Controller Scene,而Navigation Controller与其没有任何关联。


入口


下一步需要将Navigation Controller设为入口,同时将第一个View Controller Scene设为根页面。

直接拖动入口的箭头到Navigation Controller即可,同时我们可以拖动每一个scene上侧矩形来对他们进行摆放,方便看的更清楚

网络异常,图片无法展示
|


然后我们按住control键,从Navigation Controller连线至 View Controller(为了方便可以点击该scene在右侧中修改class改名,如home)

网络异常,图片无法展示
|


然后在弹窗中选择root view controller,这样就将Navigation Controller与home关联上了。这时就会发现Navigation Controller与之前的Root View Controller 关联自动解除了,选择它删除即可(键盘上的删除键)。


新页面


然后,我们添加新页面,并在home页面添加一个按钮,设置点击跳转到新页面

在home要么添加按钮很简单,不细说了。

添加新页面与添加Navigation Controller类似,添加一个view controller即可(也可以添加其他controller,比如pageview controller,tabview controller等等),并重命名为second


网络异常,图片无法展示
|


最后,按住control键,从button连线至新页面,在弹窗中选择push即可

网络异常,图片无法展示
|


可以看到关联上后second页面左上角自动出现了回退按钮。运行,点击button就会看到跳转到下一页了。

注意:


1、如果不添加Navigation Controller,直接为button添加事件跳转到新页面,会报错

Push segues can only be used when the source controller is managed by an instance of UINavigationController


2、入口箭头不能删除,否则启动黑屏


3、入口必须是Navigation Controller,如果入口放在home scene,同样点击button时会报错

Push segues can only be used when the source controller is managed by an instance of UINavigationController


目录
相关文章
|
前端开发 测试技术 Swift
Swift学习笔记——新建项目
在xcode菜单中选择 new -> project -> single view app 点击next在弹出窗中填写项目名称 这里languge有可以选择object-c或swift作为项目语言。这里我们学习swift,所以选择swift。 如果language选择swift,下面的user interface可以选择swiftUI和storyboard。 SwiftUI是2019 年 WWDC 大会上,苹果在压轴环节向大众宣布了基于 Swift 语言构建的全新 UI 框架,与flutter类似,是用代码编写页面,支持快速预览。
686 0