IOS开发学习笔记swift 开发ios appiOS开发记录

iOS segue几种界面跳转笔记 (更新中)

2017-09-23  本文已影响1180人  牵手生活

为了简单演示,我直接创建一个新的工程jumpToViewControllerMultipleWay

应用场景
当我们在界面A点击UIView(UIButton按钮、UIImageView图片、UITextView、甚至是UITableView中的Item等等),需要跳转到另外一个界面B或C时。

Segue说明(类型Android的Intent,又不一样)

segue:用于storyboard中不同视图控制器间转场,即从一个视图控制器转场到另一个视图控制器。Segue的起点必须是一个view或者定义某些操作的对象,如:UIBarButtonItem;可以单独在scene之间使用,也可以配合NavigationController的导航栈一起使用 segue

Action Segue 类型

ActionSequeTypes.png

Action Sequie

官方开发资料:View Controller Programming Guide for iOS---Using Segues
官方功能描述:xcode help


Action Seque -show(Storyboard中segue拖拉)

方式1-控件拖拉到目标ViewController

在Storyboard(国内常称为故事版)右键UIButton直接拖拉即可,拖拉完就可以直接运行

actionSequeShow.gif
方式2-原ViewController(界面A)拖拉到目标ViewController(界面B)

或 在Storyboard上拖拉

actionSequeShow_V2V.gif

拖拉后直接运行,你会发现根本就没有办法跳转。因为你还没有进行后续的操作,这个时候我们就要用到Identifier

settingSequeIdentifier.png drawSeeGirlTapped.png

顺带展示一下绑定事件界面Connection说明:

drawSeeGirlTapped_connections.png drawSeeGirlTapped_types.png
        performSegue(withIdentifier: "seeGirl", sender: nil)

seeGirlTappedCoding.png
方式1、方式2的运行效果一致
actionSequeShow_operationEffect.gif

为界面B添加返回按钮,并绑定返回事件

上面的工作已经实现了界面A到界面B的跳转,可惜界面B无法返回到界面A,这个的界面体验感觉总是很别扭。那么下面的工作就是为界面B添加返回事件。

步骤1:在父界面ViewController中添加closeShowGirl方法(你可以试试没有这是步骤会是什么情况)
    @IBAction func closeShowGirl(segue:UIStoryboardSegue){
        print("关闭")
    }

步骤2:为返回按钮与closeShowGirl方法进行绑定

如果没有在父界面添加实现代码,那么你将无法做这个绑定

bindQuitButton2Func.gif
运行看一下效果

运行你会发现已经可以实现界面B返回到界面A,并成功在xcode日志窗口中打印处“关闭”

绑定界面B与UIViewController类绑定说明(这步不是必须的,你可以跳过)

上面我们所做的工作并没有为界面B编写任何代码,这是因为系统在我们没有绑定的情况下才用系统内置的UIViewController。
那么我们应该如何绑定呢?其实只要2个步骤就可以完成

bindView2ShowGirlViewController.png

分享是一种美德,牵手是一种生活方式。

最后感谢简书提供的分享平台,你觉得有用可以收藏方便以后查阅。

个人分享内容分类

今日头条号--牵手生活 :android 破解与逆向(暂未接触ios逆向)

csdn--牵手生活 :android 入门级介绍、部分工具类分享。

简书--牵手生活 :侧重打造-ios乐园

上一篇下一篇

猜你喜欢

热点阅读