iOS Segue使用

1. 创建 UIStoryboardSegue的子类实现自定义的segue,并与Storyboard上的segue跳转箭头绑定。

CustomSegue.swift

---------------------------------------------------------------------------------------------------------

import UIKit


class CustomSegue:UIStoryboardSegue {

    

    overridefunc perform() {

        super.perform()

        //自己定义的一系列代码

        print("\(self.source.description)\(self.destination.description),标识符为:\(self.identifier?.description ??"nil")")

    }

    

}


2.重写ViewController的 prepare(for segue:sender:)函数,在跳转前通过参数segue获得目标ViewController对象,从而对目标ViewController进行一系列设置。下面的测试代码完成的是ViewControllerA和ViewControllerB通过UIStoryboardSegue的prepare(for segue:sender:)函数相互设置背景色。

ViewControllerA.swift:

------------------------------------------------------------------------------------------------------------

import UIKit


class ViewControllerA: UIViewController {

    

    overridefunc viewDidLoad() {

        super.viewDidLoad()

    

    }


    //MARK:Navigation

    overridefunc prepare(for segue: UIStoryboardSegue, sender: Any?) {

        guardlet destination = segue.destinationas? ViewControllerBelse {

            print("终点ViewController不是ViewControllerB")

            return

        }

        destination.view.backgroundColor =UIColor.yellow

    }


    

}


ViewControllerB.swift:

--------------------------------------------------------------------------------------------------------

import UIKit


class ViewControllerB: UIViewController {

    

    overridefunc viewDidLoad() {

        super.viewDidLoad()


    }

    

    //MARK: Navigation

    overridefunc prepare(for segue: UIStoryboardSegue, sender: Any?) {

        guardlet destination = segue.destinationas? ViewControllerAelse {

            print("终点ViewController不是ViewControllerA")

            return

        }

        destination.view.backgroundColor =UIColor.red

    }

    

}

------------------------------------------------------------------------------------------------------------






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值