03|界面跳转与传值

注意:(配对使用)

1.上下跳转

从当前视图跳转到下一个视图,用present。

self.present(viewControllerToPresent: UIViewController, animated:, 
completion: (() -> Void)?() -> Void)?() -> Void)

返回的时候,则用dismiss。

self.dismiss(animated: Bool, completion: (() -> Void)?(() -> Void)?() -> Void)

2.左右跳转

在使用导航视图跳转界面时,需要先在AppDelegate中设置导航视图为跟视图。

let enterVC = EnterViewController()
let navgaVC = UINavigationController(rootViewController: enterVC)

跳转到下一个界面用,push方法(属于压栈操作)

let messageVC = MessageViewController()
self.navigationController?.pushViewController(messageVC, animated: true)

返回之前的界面用,pop方法(属于弹栈操作)

//弹回上一个界面
self.navigationController?.popViewController(animated: true)
//弹回指定界面
self.navigationController?.popToViewController(viewController: UIViewController, animated: Bool)
//弹回根界面
self.navigationController?.popToRootViewController(animated: Bool)

3.传值

1.属性传值
关于传值,可以通过两个视图直接的属性进行传值。A中定义了a属性,B视图跳回A的时候,将要传的数据复制给A实例化后的对象的属性a即可达到目的。注意在此时传值时,跳转要填的VC参数是A实例化的对象。

2.通知传值
监听中有个参数是字典,可以进行传递数据,具体的看通知那篇文。

你可能感兴趣的:(03|界面跳转与传值)