Swift之UITabBarController 導(dǎo)航控制器的自定義
更新時(shí)間:2015年10月26日 14:58:05 投稿:mrr
本文給大家介紹swift導(dǎo)航控制器之UITabBarController,本文通過(guò)代碼實(shí)例給大家講解swift導(dǎo)航控制器,導(dǎo)航控制器類(lèi)繼承UITabBarController,代碼簡(jiǎn)單易懂,需要的朋友可以參考下
swift導(dǎo)航控制器,導(dǎo)航控制器類(lèi)繼承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();
//.初始化鍵盤(pán)插件
//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)航控制器類(lèi),繼承 UITabBarController
//
// NTViewController.swift
// Housekeeper
//
// Created by 盧洋 on //.
// Copyright © 年 奈文摩爾. All rights reserved.
//
import Foundation
import UIKit
class NTViewController:UITabBarController{
//頁(yè)面初始化
override func viewDidLoad() {
super.viewDidLoad();
//.創(chuàng)建首頁(yè)導(dǎo)航控制器
let vwIndex=index();
let navIndex=UINavigationController(rootViewController: vwIndex);
navIndex.title="首頁(yè)";
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)建車(chē)輛展示導(dǎo)航控制器
let vwCarDisplay=carDisplay();
let navCarDisplay=UINavigationController(rootViewController: vwCarDisplay);
navCarDisplay.title="車(chē)輛展示";
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)文章
Swift學(xué)習(xí)教程之訪問(wèn)控制詳解
訪問(wèn)控制可以限定你在源文件或模塊中訪問(wèn)代碼的級(jí)別,也就是說(shuō)可以控制哪些代碼你可以訪問(wèn),哪些代碼你不能訪問(wèn)。下面這篇文章主要給大家介紹了關(guān)于Swift學(xué)習(xí)教程之訪問(wèn)控制的相關(guān)資料,需要的朋友可以參考下。2017-08-08
在一個(gè)項(xiàng)目中同時(shí)使用Swift和Objective-C代碼混合編程的方法
這篇文章主要介紹了在一個(gè)項(xiàng)目中同時(shí)使用Swift和Objective-C代碼的方法,在一個(gè)工程中同時(shí)使用Swift和Objective-C混合語(yǔ)言編程的方法,需要的朋友可以參考下2014-07-07
Swift3遷移至Swift4可能遇到的問(wèn)題小結(jié)
每當(dāng)看到新的編程語(yǔ)言我總是會(huì)有相當(dāng)大的興趣,所以下面這篇文章主要給大家介紹了關(guān)于Swift3遷移至Swift4可能遇到的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-06-06
用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

