在上一节中我们对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对于安全性,灵活性以及代码的简洁性的优化总能带给我很多惊喜,相信这门语言在以后会吸引越来越多的开发者.