swift学习笔记之navigationController的设置以及使用

在上一节中我们对navigationController进行了初始化,这里主要是对其进行基本的设置比如导航栏样式,导航栏文字样式以及对状态栏的基本调整,通过这些工作,这个navigationController就可以满足基本的需求,为良好的视图构造和展示做准备.

override func viewDidLoad() {
        super.viewDidLoad()
        
        // Do any additional setup after loading the view.
        
        self.view.backgroundColor=UIColor .whiteColor()
        
        //设置导航栏颜色
        self.navigationBar.barTintColor=UIColor.blueColor()
        self.navigationBar.tintColor=UIColor.whiteColor()
        
        //设置子视图y坐标的起始点:false 从naviBar的底部开始    yes 从状态栏顶部开始
        self.navigationBar.translucent=false
        
        
        //设置导航栏文字颜色和字体
        self.navigationBar.titleTextAttributes=[NSForegroundColorAttributeName: UIColor.whiteColor(),NSFontAttributeName: UIFont.systemFontOfSize(16)]
        
        
    }

    override func pushViewController(viewController: UIViewController, animated: Bool) {
        //重写左侧返回按钮
        super.pushViewController(viewController, animated: true )
        
        //创建返回按钮
        if viewController.navigationItem.leftBarButtonItem==nil&&self.viewControllers.count>1{
            
            let backImg=UIImage(named: "arrow_back_btn")
            let backBtn=UIBarButtonItem(image: backImg, style: UIBarButtonItemStyle.Plain, target:self, action:Selector("popSelf"))
            
            viewController.navigationItem.leftBarButtonItem=backBtn
        }
        
    }
    
    func popSelf(){
        //返回上一级
        self.popViewControllerAnimated(true)
    }
    
    override func preferredStatusBarStyle() -> UIStatusBarStyle {
        //设置状态栏的前景色为白色
        return UIStatusBarStyle.LightContent
    }
    
    override func preferredStatusBarUpdateAnimation() -> UIStatusBarAnimation {
        //设置状态栏改变动画
        return UIStatusBarAnimation.Slide
    }



在rootController中我们可以写一下方法,做一个最基本的实验,以熟悉swift中的关于方法定义以及调用的语法

override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
        
        configUI()
        
    }

    func configUI(){
        //配置UI
        self.title="firstView"
        
        //创建按钮
        let pushBtn=UIButton(frame: CGRectMake(0, 0, 100, 100))
        pushBtn.backgroundColor=UIColor.redColor()
        self.view .addSubview(pushBtn)
        //添加点击事件
        pushBtn.addTarget(self, action: Selector("pushToNextView"), forControlEvents: UIControlEvents.TouchUpInside)
    }
    
    func pushToNextView(){
        //推入secondView
        let nextView=UIViewController()
        nextView.title="secondView"
        self.navigationController?.pushViewController(nextView, animated: true)
    }


通过一步一步的学习,发现swift对于安全性,灵活性以及代码的简洁性的优化总能带给我很多惊喜,相信这门语言在以后会吸引越来越多的开发者.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值