swift 视图转换 模态框

这篇博客记录了在Swift中实现视图转换和模态框展示的代码示例。通过创建和配置UIBarButtonItem,展示如何在导航栏上添加自定义操作,并通过pushViewController和popViewControllerAnimated方法进行视图控制器的切换。此外,还展示了如何使用present和dismiss方法来呈现和关闭模态视图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

纯属记录代码。。。基本无涵养


//

//  ViewController.swift

//  UInavControl

//

//  Created by lanou on 16/11/2.

//  Copyright (c) 2016 lanou. All rights reserved.

//


import UIKit


class ViewController: UIViewController {


    override func viewDidLoad() {

        super.viewDidLoad()

        

        navigationItem.title = "setting"

        

        //设置导航栏左按钮(UIBarButtonItem)

        

        let leftButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Add, target: self, action:"leftButtonAction")

        

        let rightButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Stop, target: self, action:"rightButtonAction")

        

        navigationItem.leftBarButtonItem = leftButton

        navigationItem.rightBarButtonItem = rightButton

        

        //设置中间视图

        

        let segment = UISegmentedControl(items: ["已接来电","未接来电"])

        segment.frame = CGRectMake(0, 0, 100, 30)

        segment.selectedSegmentIndex = 0

        

        navigationItem.titleView = segment

        

        navigationController?.navigationBarHidden = false

        navigationController?.navigationBar.barStyle = UIBarStyle.Default

        navigationController?.navigationBar.backgroundColor = UIColor.cyanColor()

        

        //改变元素颜色 Bar中的视图颜色?)

        navigationController?.navigationBar.tintColor = UIColor.redColor()

        

//        navigationController?.navigationController.

        

        navigationController?.navigationBar.translucent = true

        let view1 = UIView(frame: CGRectMake(0, 0, 60, 150))

        view1.backgroundColor = UIColor.blackColor()

        

        

        view.addSubview(view1)

        

        

        //

        // Do any additional setup after loading the view, typically from a nib.

    }


    func leftButtonAction(){

//            print("Hello,world")

            let second = SecondViewController()

            // 使用当前视图控制器

            navigationController?.pushViewController(second, animated: true)

        

    }

    

    func rightButtonAction(){

        print("Right click")

    }

    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }

    

    func doEverything()->Bool{

        print("Hello,world")

        return false

    }

}



//

//  SecondViewController.swift

//  UInavControl

//

//  Created by lanou on 16/11/3.

//  Copyright (c) 2016 lanou. All rights reserved.

//


import UIKit


class SecondViewController: UIViewController {


    override func viewDidLoad() {

        super.viewDidLoad()

        

        navigationItem.title = "这是标题"

        

        let leftbtn = UIBarButtonItem(title: "back", style: UIBarButtonItemStyle.Plain, target: self, action: "leftback")

        

        let btn = UIButton(frame: CGRectMake(200, 200, 100, 50))

        btn.addTarget(self, action: "convery", forControlEvents: UIControlEvents.TouchUpInside)

        btn.setTitle("下个页面", forState: UIControlState.Normal)

        btn.setTitleColor(UIColor.blackColor(), forState: UIControlState.Normal)

        let btn2 = UIButton(frame: CGRectMake(40, 40, 100, 50))

//        btn2.b

        view.addSubview(btn2)

//        btn.buttonType = UIButtonType.InfoLight

        view.addSubview(btn)

        navigationItem.leftBarButtonItem = leftbtn

        // Do any additional setup after loading the view.

    }

    

    func convery(){

        let Third = ThirdViewController()

        navigationController?.pushViewController(Third, animated: true)

    }

    

    func leftback(){

        navigationController?.popViewControllerAnimated(true)

    }

    

    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }

    


    /*

    // MARK: - Navigation


    // In a storyboard-based application, you will often want to do a little preparation before navigation

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

        // Get the new view controller using segue.destinationViewController.

        // Pass the selected object to the new view controller.

    }

    */


}



//

//  FivethViewController.swift

//  UInavControl

//

//  Created by lanou on 16/11/3.

//  Copyright (c) 2016 lanou. All rights reserved.

//


import UIKit


class FivethViewController: UIViewController {


    override func viewDidLoad() {

        super.viewDidLoad()

        view.backgroundColor = UIColor.grayColor()

        let mdonelBtn = UIButton(frame: CGRectMake(50, 50, 100, 50))

        mdonelBtn.addTarget(self, action: "dismiss", forControlEvents: UIControlEvents.TouchUpInside)

        mdonelBtn.backgroundColor = UIColor.blueColor()

        view.addSubview(mdonelBtn)

        // Do any additional setup after loading the view.

    }

    

    func dismiss(){

        dismissViewControllerAnimated(true, completion: { () -> Void in

            print("模态消失动作已结束")

        })

    }


    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }

    


    /*

    // MARK: - Navigation


    // In a storyboard-based application, you will often want to do a little preparation before navigation

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

        // Get the new view controller using segue.destinationViewController.

        // Pass the selected object to the new view controller.

    }

    */


}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值