我的应用使用标签栏显示5个差异视图。这些视图中的每一个都在顶部有一个窄条,显示了一个Twitter提要..推特提要应该保持所有标签的外观。
-----------------------------------------
| 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提要详细信息(包括用户界面?)并使用viewDidAppear将其粘贴到视图中吗?或者有更好的方法来实现这个吗?
答案 0 :(得分:1)
您自己使用的是UITabBarController
还是UITabBar
?如果它本身就是UITabBar
,您可以简单地将推杆放在顶部,不要将其与主内容视图交换。
如果你正在使用标签栏控制器,这可能有效:将你的app delegate(或其他一些单例)设置为委托,并执行:
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
// Have an ivar called twitterBar.
[viewController.view addSubview:twitterBar];
}
答案 1 :(得分:1)
我假设您当前的视图控制器树如下所示:
UITabBarController
ViewOneController
ViewTwoController
etc.
你可以更深入地嵌套这个:
UINavigationController
UITabBarController
ViewOneController
ViewTwoController
etc.
然后将屏幕顶部的显示放入根UIViewController
的导航栏。或者完全为你自己的子类更改它。