您的位置:首页 > 移动开发 > Swift

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

2015-11-09 13:40 513 查看
Swift语言新建的项目入口为AppDelegate.swift

我们找到

[objc] view
plaincopy

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

来创建导航控制器

[objc] view
plaincopy

let VC=ViewController()  

  

let navigationC=UINavigationController(rootViewController: VC)  

self.window?.rootViewController=navigationC  

  

self.window?.backgroundColor=UIColor.whiteColor()  

  

return true  

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



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

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

我们在ViewController的viewDidLoad中设置

[objc] view
plaincopy

        //设置设置导航栏标题  

        self.title="主页"  

        //设置导航栏背景色  

        self.navigationController?.navigationBar.barTintColor=UIColor.grayColor()  

//        //导航栏还可以设置图片.  

//        self.navigationController?.navigationBar.setBackgroundImage(UIImage(named: "testnavigationBar"), forBarMetrics: UIBarMetrics.Default)  



下边我们给ViewController添加子视图

[objc] view
plaincopy

//添加View  

let view1=UIView(frame: CGRectMake(100, 2, 120, 120))  

view1.backgroundColor=UIColor.redColor()  

self.view.addSubview(view1)  

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



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

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

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

[objc] view
plaincopy

self.navigationController?.navigationBar.translucent=false  

同时我们还能隐藏导航栏

[objc] view
plaincopy

self.navigationController?.navigationBarHidden=true  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: