2011-07-09 171 views
2

我剛剛完成了一個應用程序的設計,該應用程序使用在三個UIViewControllers之間切換的頂部條。我的第一個想法是使用UITabBarController,因爲它工作非常模擬。將UITabBar移動到UITabBarController的頂部?

但是,tabBar在底部,在我的PSD中,它在頂部。無論如何,我可以改變它嗎?我在圖書館看到我可以拖入UITabBar,但我不知道如何從中更改頁面。

請幫忙! 庫爾頓

+0

你如何定義你的頂欄?當您嘗試將其移動時,您遇到的問題是什麼? – sergio

+0

這是一堆UIButtons。我想將UITabBar移動到頂端。我在庫中看到了UITabBar,但它並沒有鏈接到任何東西。 – iosfreak

回答

4

,我認爲這是可以做到的,但你應該的this注意:

「重要信息:在iPhone OS 3.0及更高版本,你不應該嘗試使用這個類的方法和屬性在與標籤欄控制器對象關聯時修改標籤欄使用這種方式修改標籤欄會導致拋出異常,而應該通過標籤欄控制器界面對標籤欄或其項目進行任何修改。您仍然可以直接修改與標籤欄控制器無關的標籤欄對象。「

所以,在你的UI(我想你在Interface Builder中定義它),實例化一個對象UITabBar(在IB庫中選擇並將其拖動到IB視圖)。選擇默認位置並定義此選項卡欄自動調整的方式(使用信息窗口的大小窗格)。然後,向您的UITabBar類型的視圖控制器添加一個插座,最後將標籤欄對象連接到標籤欄插座。

完成此操作後,在您的視圖控制器的viewDidLoad方法中,您可以自定義您想要的選項卡欄的任何屬性。

+0

'tabBar.frame = CGRectMake(-100,-100,320,60);'什麼都不做。 – iosfreak

+0

你是如何創建標籤欄的?如果我按照我在IB提出的建議,可以看到頂部的標籤欄。你使用標籤欄控制器嗎? – sergio

+0

我正在使用標籤欄控制器...應該只是一個標籤欄?如果它只是一個標籤欄,我如何控制每個項目上顯示的視圖?謝謝。 – iosfreak

12

希望下面的代碼可以幫助

 
UITabBarController *tabC = [[UITabBarController alloc]init]; 
    tabC.tabBar.frame = CGRectMake(0, 0, 320, 70); 

    NSArray *arr = [[NSArray alloc]initWithObjects:firstObj,secObj, nil]; 

    tabC.viewControllers = arr; 

    [self.window addSubview:tabC.view]; 

工作得很好,我