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  那么会出来如下效果

Swift UINavigationController(导航控制器)的创建及导航栏的设置_第1张图片

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


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

我们在ViewController的viewDidLoad中设置

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


Swift UINavigationController(导航控制器)的创建及导航栏的设置_第2张图片

下边我们给ViewController添加子视图

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


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

Swift UINavigationController(导航控制器)的创建及导航栏的设置_第3张图片


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

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

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

        self.navigationController?.navigationBar.translucent=false

同时我们还能隐藏导航栏

        self.navigationController?.navigationBarHidden=true

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

欢迎加群讨论过学习

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


你可能感兴趣的:(swift,导航)