Swift之UITabBarController 導(dǎo)航控制器的自定義
更新時(shí)間:2015年10月26日 14:58:05 投稿:mrr
本文給大家介紹swift導(dǎo)航控制器之UITabBarController,本文通過代碼實(shí)例給大家講解swift導(dǎo)航控制器,導(dǎo)航控制器類繼承UITabBarController,代碼簡(jiǎn)單易懂,需要的朋友可以參考下
swift導(dǎo)航控制器,導(dǎo)航控制器類繼承UITabBarController,具體代碼如下所示:
// AppDelegate.swift
// Housekeeper
//
// Created by 盧洋 on //.
// Copyright © 年 奈文摩爾. All rights reserved.
//
import Foundation
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
//var indexTab:UITabBarController?;
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// 應(yīng)用程序啟動(dòng)后
//.聲明一個(gè)空視圖
self.window = UIWindow(frame: UIScreen.mainScreen().bounds);
self.window!.backgroundColor=UIColor.whiteColor();
//.導(dǎo)航背景顏色
UINavigationBar.appearance().barTintColor=UIColor.appMainColor();
UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(CGFloat(NSInteger.min),CGFloat(NSInteger.min)), forBarMetrics:UIBarMetrics.Default);
//.導(dǎo)航標(biāo)題文字顏色
UINavigationBar.appearance().titleTextAttributes=NSDictionary(object:UIColor.whiteColor(), forKey:NSForegroundColorAttributeName) as? [String : AnyObject];
//.將狀態(tài)欄變?yōu)榘咨?
UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent;
//.設(shè)置返回按鈕顏色
UINavigationBar.appearance().tintColor=UIColor.whiteColor();
//.指定根視圖
let rootView=NTViewController();
self.window!.rootViewController=rootView;
self.window!.makeKeyAndVisible();
//.初始化鍵盤插件
//let manage:IQKeyboardManager=IQKeyboardManager.sharedManager();
//manage.enable=true;
//manage.shouldResignOnTouchOutside=true;
//manage.shouldToolbarUsesTextFieldTintColor=true;
//manage.enableAutoToolbar=true;
return true
}
func applicationWillResignActive(application: UIApplication) {
// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
// Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}
func applicationDidEnterBackground(application: UIApplication) {
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}
func applicationWillEnterForeground(application: UIApplication) {
// Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
}
func applicationDidBecomeActive(application: UIApplication) {
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}
func applicationWillTerminate(application: UIApplication) {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}
}
2.下面是我自定義的導(dǎo)航控制器類,繼承 UITabBarController
//
// NTViewController.swift
// Housekeeper
//
// Created by 盧洋 on //.
// Copyright © 年 奈文摩爾. All rights reserved.
//
import Foundation
import UIKit
class NTViewController:UITabBarController{
//頁面初始化
override func viewDidLoad() {
super.viewDidLoad();
//.創(chuàng)建首頁導(dǎo)航控制器
let vwIndex=index();
let navIndex=UINavigationController(rootViewController: vwIndex);
navIndex.title="首頁";
navIndex.tabBarItem.image=UIImage(named: "home.png")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal); //默認(rèn)顯示圖片
navIndex.tabBarItem.selectedImage=UIImage(named: "homes.png")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal); //選中后的圖片
//.創(chuàng)建活動(dòng)信息導(dǎo)航控制器
let vwActivityInfo=activityInfo();
let navActivityInfo=UINavigationController(rootViewController: vwActivityInfo);
navActivityInfo.title="活動(dòng)信息";
navActivityInfo.tabBarItem.image=UIImage(named: "Activity-information.png")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal);
navActivityInfo.tabBarItem.selectedImage=UIImage(named: "Activity-informations.png")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal);
//.創(chuàng)建車輛展示導(dǎo)航控制器
let vwCarDisplay=carDisplay();
let navCarDisplay=UINavigationController(rootViewController: vwCarDisplay);
navCarDisplay.title="車輛展示";
navCarDisplay.tabBarItem.image=UIImage(named: "Vehicle-display.png")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal);
navCarDisplay.tabBarItem.selectedImage=UIImage(named: "Vehicle-displays.png")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal);
//.創(chuàng)建個(gè)人中心導(dǎo)航控制器
let vwPersonalCenter=personalCenter();
let navPersonalCenter=UINavigationController(rootViewController: vwPersonalCenter);
navPersonalCenter.title="個(gè)人中心";
navPersonalCenter.tabBarItem.image=UIImage(named: "Personal-Center.png")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal);
navPersonalCenter.tabBarItem.selectedImage=UIImage(named: "Personal-Centers.png")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal);
//.添加到工具欄
let items=[navIndex,navActivityInfo,navCarDisplay,navPersonalCenter];
self.viewControllers=items;
self.navigationController?.navigationBar.tintColor=UIColor.whiteColor();
//.自定義工具欄
self.tabBar.backgroundColor=UIColor.clearColor();
//底部工具欄背景顏色
self.tabBar.barTintColor=UIColor.appMainColor();
//.設(shè)置底部工具欄文字顏色(默認(rèn)狀態(tài)和選中狀態(tài))
UITabBarItem.appearance().setTitleTextAttributes(NSDictionary(object:UIColor.whiteColor(), forKey:NSForegroundColorAttributeName) as? [String : AnyObject], forState:UIControlState.Normal);
UITabBarItem.appearance().setTitleTextAttributes(NSDictionary(object:UIColor.blueWithTabbar(), forKey:NSForegroundColorAttributeName) as? [String : AnyObject], forState:UIControlState.Selected)
//self.tabBar.tintColorDidChange()=UIColor.greenColor();
// let viewBar=UIView(frame:CGRectMake(,,UIScreen.mainScreen().bounds.width, ));
// viewBar.backgroundColor=UIColor(patternImage:UIImage(named:"TabbarBg.png")!);
// self.tabBar.insertSubview(viewBar, atIndex:)
// self.tabBar.opaque=true
// self.tabBar.tintColor=UIColor.appMainColor();
}
}
效果圖如下:

您可能感興趣的文章:
相關(guān)文章
在一個(gè)項(xiàng)目中同時(shí)使用Swift和Objective-C代碼混合編程的方法
這篇文章主要介紹了在一個(gè)項(xiàng)目中同時(shí)使用Swift和Objective-C代碼的方法,在一個(gè)工程中同時(shí)使用Swift和Objective-C混合語言編程的方法,需要的朋友可以參考下2014-07-07
用Swift構(gòu)建一個(gè)簡(jiǎn)單的iOS郵件應(yīng)用的方法
這篇文章主要介紹了用Swift構(gòu)建一個(gè)簡(jiǎn)單的iOS郵件應(yīng)用的方法,包括查看和標(biāo)記已讀等基本的郵件應(yīng)用功能,需要的朋友可以參考下2015-07-07

