AppDelegate.swift:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
self.window = UIWindow(frame: UIScreen.main.bounds)
self.window?.backgroundColor = #colorLiteral(red: 0.2588235438, green: 0.7568627596, blue: 0.9686274529, alpha: 1)
self.window?.makeKeyAndVisible()
self.window?.rootViewController = FirstViewController()
return true
}
FirstViewController.swift:
class FirstViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = #colorLiteral(red: 0.9098039269, green: 0.4784313738, blue: 0.6431372762, alpha: 1)
// Do any additional setup after loading the view.
let presentbutton = UIButton(type: .custom)
presentbutton.frame = CGRect(x: 100, y: 150, width: 214, height: 40)
presentbutton.setTitle("模态视图", for: .normal)
presentbutton.backgroundColor = UIColor.cyan
presentbutton.setTitleColor(UIColor.gray, for: .highlighted)
presentbutton.addTarget(self, action: #selector(presentAction), for: .touchUpInside)
self.view.addSubview(presentbutton)
}
//presentAction的关联方法
func presentAction(sender:UIButton) {
//先要创建模态视图控制器对象
let secondVC = SecondViewController()
//模态出带有导航条的视图,就把这个视图加到一个导航视图控制器,但是此时要模态导航视图控制器
let rootVC = UINavigationController(rootViewController: secondVC)
//设置要出视图的动画效果
//翻页效果
secondVC.modalTransitionStyle = .partialCurl
//模态视图 参数1:要模态出的视图对象 参数2;要不要动态效果 参数3:模态时要做的操作写在闭包里 nil
self.present(rootVC, animated: true, completion: nil)
}
//点击方法
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
let alertVC = UIAlertController(title: "警告", message: "严禁游泳", preferredStyle: .alert)
// let alertVC = UIAlertController(title: "警告", message: "严禁游泳", preferredStyle: .actionSheet)
self.present(alertVC, animated: true, completion: nil)
//按钮
let action = UIAlertAction(title: "取消", style: .cancel, handler: nil)
//
let photoLibrayAcyion = UIAlertAction(title: "相册", style: .destructive, handler: {(sender:UIAlertAction) in
print("选择了相册")
})
let cameraAction = UIAlertAction(title: "相机 ", style: .destructive, handler: {(sender:UIAlertAction) in
print("选择了后摄像头")
})
//添加按钮
alertVC.addAction(photoLibrayAcyion)
alertVC.addAction(cameraAction)
//取消样式的按钮在下面显示
alertVC.addAction(action)
}
SecondViewController.swift
class SecondViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = #colorLiteral(red: 0.721568644, green: 0.8862745166, blue: 0.5921568871, alpha: 1)
// Do any additional setup after loading the view.
//完成模态实行的效果
let dismissbutton = UIButton(type: .custom)
dismissbutton.frame = CGRect(x: 100, y: 150, width: 214, height: 40)
dismissbutton.setTitleColor(UIColor.yellow, for: .normal)
dismissbutton.setTitle("模态消失视图", for: .normal)
dismissbutton.setTitleColor(UIColor.blue, for: .highlighted)
dismissbutton.backgroundColor = UIColor.brown
self.view.addSubview(dismissbutton)
dismissbutton.addTarget(self, action: #selector(dismissAction), for: .touchUpInside)
}
//MARK:-dismissAction的关联方法
func dismissAction(sender:UIButton) {
//让模态出来的视图消失
self.dismiss(animated: true, completion: nil)
}