swift UI专项训练4 场景过渡-转场

上一话中我们创建了两个场景,这一话我们想要实现两个场景间的过渡。我们只需要增加一个导航条。选中我们上一话中创建的Table View Controller,点击工具栏上面的editor,选择Embed in(嵌入),选择Navigation Controller,如图:



嵌入后storyboard左边会出现一个NavigationController,会有一个箭头连接到我们的tableviewcontroller。




在tableviewcontroller最顶端会空出一个区域来,我们可以在里面命名,比如我命名为“餐馆排行”,在导航栏上左右各添加一个按钮,去控件中寻找Bar Button Item,这个是专门用到导航条或者工具栏上的。


把它拖到导航栏右侧,在属性编辑器里面编辑它,它有很多种类型,如果是添加按钮,选择add,按钮会变成一个加号。再添加一个edit按钮


运行后效果如图:


我们看到storyboard中是英文,而运行后是中文,这就是我们第一话中设置的本地化的效果。

同理,给新增餐馆列表中增加一个导航,导航栏中设置两个按钮,一个“完成”,一个“取消”。接下来要通过第一个场景中的加号,点击后跳转到第二个场景。和我们之前连线的方法一样,我们需要按住control键从加号中拖出一条线到第二个场景的navigationcontroller中,会出现下面这些选项,这代表了不同的转场方式,比如直接展示,弹窗等等,选择,show。这时候运行看看是不是可以通过点击“+”实现转场了。如果你把新增场景的确认和返回按钮删除的话,转场后会有个默认的返回按钮,点击可以回到第一个场景中。



这就是堆栈的表现。因为我们要保留新增餐馆的功能,还是把两个按钮加上,然后把模式改为第三个:


就变成了必须有输入才能返回的模式了,可以看到转场的时候场景是从屏幕的下方滑上来的。

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...