03|界面跳转与传值
2017-06-26 本文已影响33人
大米的木头
注意:(配对使用)
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.通知传值
监听中有个参数是字典,可以进行传递数据,具体的看通知那篇文。