2011-08-04 16 views
1

我的應用程序使用選項卡欄來顯示5個差異視圖。這些視圖中的每一個在頂部都有一個窄條,它顯示一個Twitter Feed。Twitter Feed應該保持它在所有標籤中的外觀。用於在選項卡之間保留用戶界面狀態的單身人士

----------------------------------------- 
| twitter feed scrolling to the left | < this block stays here, text scrolls 
----------------------------------------- 
|          | 
|          | 
|          | 
|   main bit of the view  | 
|   changes according to tab  | 
|          | 
|          | 
|          | 
----------------------------------------- 
|  |  |  |  |  | 
|  |  |  |  |  | < tab bar 
|  |  |  |  |  | 
----------------------------------------- 

我無法弄清楚這裏代碼的最佳模式。我應該在Singleton中保留twitter feed細節(包括UI?),並使用viewDidAppear將它們粘貼到視圖中?或者有更好的方法來實現這一點?

回答

1

您是否使用了UITabBarControllerUITabBar?如果它本身是UITabBar,則可以簡單地將Twitter欄放在頂部,而不要將其與主內容視圖互換。

如果您使用的是標籤欄控制器,這可能工作:設置你的應用程序代理(或其他單)作爲代表,並做到:

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController 
{ 
    // Have an ivar called twitterBar. 
    [viewController.view addSubview:twitterBar]; 
} 
+0

我試過了,但我沒有看到添加ViewController(twitterBar)到視圖的方法。 – cannyboy

+0

'[viewController.view addSubview:twitterBar.view]' –

1

我認爲當前視圖控制器樹看起來像這樣:

UITabBarController 
    ViewOneController 
    ViewTwoController 
    etc. 

你可以窩這一個更深層次的:

UINavigationController 
    UITabBarController 
     ViewOneController 
     ViewTwoController 
     etc. 

然後把d在屏幕頂部顯示到根UIViewController的導航欄中。或者完全改變你自己的子類。