一、模态
1.第一个视图控制器(模态显示)
//(1)新建一个btn
let btn = UIButton(frame:CGRectMake(100,130,80,45))
//(2)给按钮设置标题/背景颜色
btn.setTitle("模态显示",forState: .Normal)
btn.backgroundColor = UIColor.blueColor()
//(3)给按钮添加监听事件,当按下按钮时响应方法persentToSix
btn.addTarget(self,action:"persentToSix",forControlEvents: .TouchUpInside)
//(4)添加按钮到视图
view.addSubview(btn)
//(5)给按钮persentToSix设置方法
func persentToSix() {
//创建第二个视图控制器
let secondVc = secondViewController()
//secondVc需要跳转的下一个视图,animated:true表示是否有动画形式
presentViewController(secondVc,animated:true) { () -> Void in
print("模态动作已经完成")
}
2.第二张视图控制器(模态消失)
//(1)新建一个btn
let btn2 = UIButton(frame:CGRectMake(80,150,100,45))
//(2)给按钮设置标题/背景颜色
btn2.setTitle("模态消失",forState: .Normal)
btn2.backgroundColor = UIColor.blueColor()
//(3)给按钮添加监听事件,当按下按钮时响应方法persentToSix
btn2.addTarget(self,action:"dismissViewcontroller",forControlEvents: .TouchUpInside)
//(4)添加按钮到视图
view.addSubview(btn2)
//(5)给按钮persentToSix设置方法
func dismissViewcontroller() {
//dismissViewControllerAnimated(true,completion: { () -> Void in
print("模态消失动作已结束\n")
})
}
二、跳转到第二个控制页面
func rightBtnAction() {
//(1)创建第二个控制器
let secondVc = secondViewController()
//(2)使用当前控制器所在的导航试图控制跳转到第二个控制器
navigationController?.pushViewController(secondVc, animated: true)
}
三、回到上一个控制器
func backAction() {
//(1)将secondVc移出栈,将当前显示在栈顶的控制器出栈
navigationController?.popViewControllerAnimated(true)
}
//(2)使用当前控制器所在的导航视图控制器跳转到第二个控制器