Swift UINavigationController(导航控制器)的创建及导航栏的设置

Swift语言新建的项目入口为AppDelegate.swift

我们找到

 func application(application: UIApplication,didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool 

来创建导航控制器
        let VC=ViewController()
        
        let navigationC=UINavigationController(rootViewController: VC)
        self.window?.rootViewController=navigationC
        
        self.window?.backgroundColor=UIColor.whiteColor()
        
        return true

我们如果没有动过认的ViewController.swift 那么会出来如下效果

会发现上变多另一个导航栏


下边我们尝试设置一下导航栏

我们在ViewController的viewDidLoad中设置

        //设置设置导航栏标题
        self.title="主页"
        //设置导航栏背景色
        self.navigationController?.navigationBar.barTintColor=UIColor.grayColor()
//        //导航栏还可以设置图片.
//        self.navigationController?.navigationBar.setBackgroundImage(UIImage(named: "testnavigationBar"),forBarMetrics: UIBarMetrics.Default)


下边我们给ViewController添加子视图

        //添加View
        let view1=UIView(frame: CGRectMake(100,2,120,120))
        view1.backgroundColor=UIColor.redColor()
        self.view.addSubview(view1)


我们会发现子视图被导航栏遮挡了


这是因为坐标系统是从左上角开始的,我们将子视图y坐标设置为20就跑到导航栏下方去了

这是的可以通过修改坐标来实现

也可以设置导航栏属性来实现

        self.navigationController?.navigationBar.translucent=false

同时我们还能隐藏导航栏
        self.navigationController?.navigationBarHidden=true

常用的功能我就先说到这里

欢迎加群讨论过学习

苹果开发群 :414319235 欢迎加入 欢迎讨论问题

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...