转场和传值

1. 转场

1.1 转场类型

转场类型.png

1. 2 有条件和无条件转场

:实现登录到主页的跳转

登录和主页.png

(1) 无条件转场(实现点击"登录"按钮从登录页面跳转到这页面)
无条件转场.png

(2) 有条件转场(实现点击"登录"按钮,验证成功后从登录页面跳转到主页面)

  • 为视图间的segue添加Identifier


    Identifier.png
  • 设置为不自动跳转(重要)
//设置为不自动跳转
    override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool {
        return false//开始不允许跳转,只有当验证账号和密码正确可以进入后由登录代码执行切换
    }
  • 登录验证成功则跳转
self.performSegue(withIdentifier: "showMainTabBar", sender: self)//转场

2. 转场传值

转场传值

2.1 正向转场传值

(1)A视图控制器传递数据到B视图控制器

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        // Get the new view controller using segue.destination.
        // Pass the selected object to the new view controller.
        if segue.identifier == "showDivideEdit" {
            let row = tableView.indexPathForSelectedRow!.row
            let destination = segue.destination as! BViewController
            destination.value = "hello world"//转场传值
        }
        
    }

(2)B视图控制器接收数据

var value:String = ""
override func viewDidLoad() {
        super.viewDidLoad()
        print("A视图控制器传递B视图控制器的数据为" + value)
    }

2.2 反向转场传值

你可能感兴趣的:(转场和传值)