ios2016.11.3

//创建导航视图控制器

//根据一个根视图控制器

letvc =ViewController()

letnavc =UINavigationController(rootViewController: vc)

//加应用的根视图控制图设置为导航视图控制器

window=UIWindow(frame:UIScreen.mainScreen().bounds)

window?.rootViewController= navc

window?.makeKeyAndVisible()

//每一个被导航视图控制所管理的视图控制器都有一个navigationItem(这里面包含了左按钮,右按钮,中间标题,中间视图)

//设置导航栏的标题

navigationItem.title="Setting"

//设置导航栏左按钮(UIBarButtonItem)

letleftBarBtn =UIBarButtonItem(barButtonSystemItem:UIBarButtonSystemItem.Search, target:self, action:"leftBtnAction")

navigationItem.leftBarButtonItem= leftBarBtn

//设置导航栏的中间视图

letsegment =UISegmentedControl(items: ["1","2"])

segment.frame=CGRectMake(0,0,100,30)

segment.selectedSegmentIndex=0

navigationItem.titleView= segment

segment.addTarget(self, action:"rightBtnAction", forControlEvents:UIControlEvents.ValueChanged)

//导航栏(UINavigationBar)在本类中(视图)访问navigationController就是获取到本视图控制器所在的导航视图控制器

//设置导航栏是否隐藏

navigationController?.navigationBarHidden=false//true是隐藏

//设置导航栏的样式

navigationController?.navigationBar.barStyle= .Black//.Black .Defualt

//设置导航栏的背景颜色

navigationController?.navigationBar.backgroundColor=UIColor.grayColor()

//设置导航栏本身的颜色

navigationController?.navigationBar.barTintColor=UIColor.yellowColor()

//设置导航栏元素的颜色(例如左按钮,右按钮,中间标题)

navigationController?.navigationBar.tintColor=UIColor.redColor()

//导航栏半透明效果(0,0)点在左上角//false (0,0)点在导航栏的左下角

navigationController?.navigationBar.translucent=true

lettempview =UIView(frame:CGRectMake(0,64,150,150))

tempview.backgroundColor=UIColor.blueColor()

view.addSubview(tempview)

}

funcrightBtnAction(){

//跳转第二个控制器页面

//(1)创建第二个控制器

letsecondvc =SecondViewController()

//(2)使用当前控制器所在的导航视图控制器跳转到第二个控制器push

navigationController?.pushViewController(secondvc, animated:true)

print("click right Btn")

}

funcleftBtnAction(){

print("click left Btn")

}

//将SecondVc出栈popViewControllerAnimated:将当前显示在栈顶的控制器出栈(回到上一个页面)

navigationController?.popViewControllerAnimated(true)

//跳到指定的视图先拿到栈里所有的视图控制器

//let viewcd = navigationController?.viewControllers

////获取根视图控制器(因为根视图控制器是最先入栈,所以在第0个下标)

//let rootVc: AnyObject = viewcd![0]

//点击按钮模态显示第六个视图控制器

funcprserntTosix(){

//创建第六个视图控制器

letsixvc =SixViewController()

//模态显示,根导航视图控制器没有关系

presentViewController(sixvc, animated:true) { () ->Voidin

print("模态动作完成")

}//completion是一个闭包模态显示完成之后要执行的闭包

}

funcback(){

//(1)第一种方式:模态消失过程不可定制化

dismissViewControllerAnimated(true, completion: { () ->Voidin

})//(2)第二种方式:模态消失过程可定制化(需不需要动画,模态结束后执行代码段)

}

你可能感兴趣的:(ios2016.11.3)