1. 程式人生 > >iOS UITabBar 詳解

iOS UITabBar 詳解

http://blog.sina.com.cn/s/blog_63578f140100w56m.html

UITabBar* tabBar = [[UITabBar alloc] initWithFrame:CGRectMake(40,0.0,240,30)];

    [mainView addSubview:tabBar];

    [tabBar release];

    UITabBarItem *tabBarItem1 = [[UITabBarItem allocinitWithTitle:@"排隊人數" image:nil tag:0];

    UITabBarItem

 * tabBarItem2 = [[UITabBarItem allocinitWithTitle:@"人均" image:nil tag:1];

    UITabBarItem * tabBarItem3 = [[UITabBarItem allocinitWithTitle:@"距離" image:nil tag:2];

    UITabBarItem * tabBarItem4 = [[UITabBarItem allocinitWithTitle:@"好評" image:nil tag:3];

    NSArray *tabBarItemArray = [[NSArray

 allocinitWithObjectstabBarItem1, tabBarItem2, tabBarItem3, tabBarItem4,nil];

    [tabBar setItemstabBarItemArray];

    [tabBarItemArray release];

    好像tabBar.backgroundColor = [UIColor blueColor];設定背景不起作用

    alpha可以起作用


http://www.2cto.com/kf/201403/289348.html

push頁面時,可呼叫hidesBottomBarWhenPushed進行隱藏。

第一步,我們需要一些圖片:

\

各個選項的圖示和tabbar的背景圖片,最後還要一個透明的1x1畫素的圖片。

第二步,新建一個工程,在工程內建一個繼承於UITabBarController的類。

\

第三步,首先寫一個方法,返回一個UINavigationController

?
1 2 3 4 5 6 7 8 -(UINavigationController*) viewControllerWithTitle:(NSString*) title image:(UIImage*)image { UIViewController* viewController = [[UIViewController alloc] init]; viewController.tabBarItem = [[UITabBarItem alloc] initWithTitle:title image:image tag:0]; viewController.title = title; UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:viewController]; return nav; }

然後在viewDidLoad裡面建立TabbarController的viewControllers ?
1 2 3 4 5 6 self.viewControllers = [NSArray arrayWithObjects: [self viewControllerWithTitle:@"1" image:IMG(@"1")], [self viewControllerWithTitle:@"2" image:IMG(@"2")], [self viewControllerWithTitle:nil image:nil], [self viewControllerWithTitle:@"3" image:IMG(@"3")], [self viewControllerWithTitle:@"4" image:IMG(@"4")], nil];

看到沒有,比較猥瑣的就是第三個ViewController什麼都沒設定。

因為我們要在那個位置放一個自己的按鈕,繼續在viewDidLoad寫:

?
1 2 3 4

相關推薦

iOS UITabBar

http://blog.sina.com.cn/s/blog_63578f140100w56m.html UITabBar* tabBar = [[UITabBar alloc] initWithFrame:CGRectMake(40,0.0,240,30)];

iOS-UIApplication

對象 orien ica oar span nali messages @property pen UIApplication簡介 UIApplication對象是應用程序的象征。 每一個應用程序都有自己的UIApplication對象,而且是單例。 一個iOS程序啟

iOS runloop

code nbsp 到你 class 執行 報告 pan mce 兩個 寫這篇文章開始之前,我都不知道runloop是什麽東西,如果從字面的意思翻譯應該是一直循環的跑,懷疑可能和死鎖有關系,可是死鎖具體是怎麽回事,我只是記得有這個說法,也發現了一個自己不懂的知識。

iOS NSURLProtocol和應用

com string handle gist mutable 註冊 header rec canonical   問題:因dns發生域名劫持 需要手動將URL請求的域名重定向到指定的IP地址   最近在項目裏由於電信那邊發生dns發生域名劫持,因此需要手動將URL請求的域名

iOS KVO

-i iba app setter 通知 編碼 true 對比 idt 一、KVO 是什麽? KVO 是 Objective-C 對觀察者設計模式的一種實現。【另外一種是:通知機制(notification),詳情參考:iOS 趣談設計模式——通知】; KVO 提供一種機

iOSAPP啟動過程

我們都知道,程式的入口是main函式,在用C寫程式碼的時候,都會有個mian函式,但是在OC中,在.m檔案中,我們最常看到的是viewDidLoad()。對於剛從C轉OC的人來說,剛開始有些蒙。其實,OC中也是有mian函式的,只是不實那麼明顯。     1、先執行m

iOS BootLoader

目錄 Pre-Introduction – EFI Pre-Introduction – NVRAM Pre-Introduction – Ramdisk and APFS FileSystem BootLoader Introduction BootLo

iOS-KVC

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Yuanti SC"; color: #000000 } 定義:(Key-Value-Coding)鍵值編碼(間接訪問物件屬性的機制,以字串的形式向物件傳送訊息) p.p1 { margin: 0.

iOS —— RunTime(動態新增方法)三

一、動態新增方法 開發使用場景:如果一個類方法非常多,載入類到記憶體的時候也比較耗費資源,需要給每個方法生成對映表,可以使用動態給某個類,新增方法解決。 經典面試試題:有沒有使用performSelector.其實主要想問你有沒有動態新增過方法。 + (BOOL)resolveInstance

iOS —— RunTime(交換方法)二

一、交換方法 開發使用場景:系統自帶的方法功能不夠,給系統自帶的方法擴充套件一些功能,並且保持原有的功能。 方式一:繼承系統的類,重寫方法 方式二:使用RunTime交換方法 例: UIImage+Extension.m #import "UIImage+Extension.h" #im

iOS —— RunTime(傳送訊息)一

一、RunTime簡介 RunTime簡稱執行時。OC就是執行時機制,也就是在執行時候的一些機制,其中最主要的是訊息機制。 對於C語言,函式的呼叫在編譯的時候會決定呼叫哪個函式。 對於OC語言,屬於動態呼叫過程,在編譯的時候並不能決定真正呼叫哪個函式,只有在真正

iOS-UITableView

1.簡單使用 //遵循代理 @interface ViewController : UIViewController<UITableViewDelegate,UITableViewDataSource> //初始化定義 _tableView = [[UITableView alloc] i

一對一直播分析:iOS Runtime

Runtime的特性主要是訊息(方法)傳遞,如果訊息(方法)在物件中找不到,就進行轉發,具體怎麼實現的呢。我們從下面幾個方面探尋Runtime的實現機制。 Runtime介紹Runtime訊息傳遞Runtime訊息轉發Runtime應用 Runtime介紹 Objective-C 擴充套件了 C 語言,

11、iOS開發(基礎知識)

iOS開發詳解 本章節針對如何開發基於iOS系統的外掛進行介紹,在此之前,請閱讀Plugin Development Guide(外掛開發指南)對外掛的結構和JavaScript介面有一個大概的瞭解。 iOS外掛是以繼承至CDVPlugin類Object

iOS Protocol

一、概述 Protocol(協議)的宣告看起來類似一個類的介面,不同的是Protocol沒有父類也不能定義例項變數。Protocol是一種特殊的程式設計結構,用於宣告專門被別的類實現的方法。因為OC是單繼承的,由於不支援多繼承,所以很多時候都是用Protocol和Categ

IOS AppDelegate

AppDelegate.h模板 //模板預設引入程式需要使用“類”的框架,即UIKit.h標頭檔案,使它包含在程式中   #import   //此處@class宣告程式中的“類”名稱為MyViewController   @class MyViewCon

iOS激情之資料夾建立,移動,複製,刪除以及歸檔和反歸檔

<span style="font-size:18px;">主要程式碼精髓:</span> #import "RootViewController.h" #import “DXModel.h" #define kDocumentPath [NSS

[iOS]iOS AudioSession Category選擇 聽筒揚聲器切換

在你讀這篇文章之前,如果你不嫌讀英文太累,推薦閱讀下蘋果iOS Human Interface Guidelines中Sound這一章。 選擇一個Category AVAudioSessionCategoryAmbient 或 kAudioSessionCategory_

IOS AutoLayout(一)

前言: AutoLayout是讓UI適應控制元件自適應裝置尺寸變化的一項關鍵技術。隨著IOS Device的尺寸越來越多,很難再像以前一樣用一些固定的數字來佈置UI。 AutoLayout的實現有兩種方式 Storyboard 程式碼

iOS runloop 3 如何停止子執行緒的runloop

前言 多執行緒的價值無需贅述,對於App效能和使用者體驗都有著至關重要的意義,在iOS開發中,Apple提供了不同的技術支援多執行緒程式設計,除了跨平臺的pthread之外,還提供了NSThread、NSOperationQueue、GCD等多執行緒技術,從本篇Blog開始介紹這幾種多執行緒技術的細節。