一:導航欄的創(chuàng)建及常用方法
let navgationController = UINavigationController(rootViewController: viewC);
//設置導航欄的統(tǒng)一的背景色
UINavigationBar.appearance().barTintColor = UIColor.blueColor();
// 設置導航欄的背景色
navgationController.navigationBar.barTintColor = UIColor.yellowColor();
//設置導航欄的樣式
navgationController.navigationBar.barStyle = UIBarStyle.BlackTranslucent;
//設置導航欄透明
navgationController.navigationBar.translucent = true;
//設置導航欄的背景圖
navgationController.navigationBar.setBackgroundImage(UIImage(named: ""), forBarMetrics: UIBarMetrics.Default);
//獲取控制器中最頂端的視圖
let topViewC = self.navigationController?.topViewController;
//獲取控制器當前顯示的視圖
let currentViewC = self.navigationController?.visibleViewController;
//獲取當前控制器所有的子視圖
let viewAarray = self.navigationController?.viewControllers;
//設置prompt屬性,主要是用來做一些提醒绒窑,比如網(wǎng)絡請求菲饼,數(shù)據(jù)加載等等
self.navigationItem.prompt = "正在加載數(shù)據(jù)";
//不用時球凰,將prompt屬性置為nil即可,自帶動畫效果哦
self.navigationItem.prompt = nil;
二:導航欄的push和pop方法
1,push方法
self.navigationController?.pushViewController(viewC, animated: true);
2栅组,pop方法
1):返回到上一個視圖
self.navigationController?.popViewControllerAnimated(true);
2):返回到根視圖
self.navigationController?.popToRootViewControllerAnimated(true);
3):返回到指定的視圖
let viewAarray = self.navigationController?.viewControllers;
self.navigationController?.popToViewController(viewAarray![2], animated: true);
三:導航控制器的代理方法UINavigationControllerDelegate
1榆俺,簽訂代理
self.navigationController?.delegate = self;
2谒臼,常用代理方法
1):視圖控制器將要顯示時調(diào)用
func navigationController(navigationController: UINavigationController, willShowViewController viewController: UIViewController, animated: Bool) {
}
2):視圖控制器已經(jīng)顯示時調(diào)用
func navigationController(navigationController: UINavigationController, didShowViewController viewController: UIViewController, animated: Bool) {
}
四:自定義navigationBarItem
navigationItem常用的屬性
//自定義左側(cè)一個按鈕時使用
self.navigationItem.leftBarButtonItem
//自定義左側(cè)多個按鈕時使用
self.navigationItem.leftBarButtonItems
//自定義右側(cè)一個按鈕時使用
self.navigationItem.rightBarButtonItem
//自定義右側(cè)多個按鈕時使用
self.navigationItem.rightBarButtonItems
//中間顯示的標題文字
self.navigationItem.title
//自定義中間部分標題視圖時使用
self.navigationItem.titleView
注意:
navigationItem上的按鈕是UIBarButtonItem類型,所以自定義時使用UIBarButtonItem的創(chuàng)建方式筒捺,然后賦值給上面的屬性即可系吭。
例如:
let item = UIBarButtonItem(title: "done", style: UIBarButtonItemStyle.Done, target: self, action: "done:");
self.navigationItem.leftBarButtonItem = item;
UIBarButtonItem有三種創(chuàng)建方式
1):帶標題的
public convenience init(title: String?, style: UIBarButtonItemStyle, target: AnyObject?, action: Selector)
2):帶圖片的
public convenience init(image: UIImage?, landscapeImagePhone: UIImage?, style: UIBarButtonItemStyle, target: AnyObject?, action: Selector)
3:帶自定義視圖的
public convenience init(customView: UIView)
導航控制器沃缘,有些地方講的不是太詳細则吟,大家可以自己查閱下其他資料。