因此,我開始使用iPad的標準Split View應用程序。左側爲根視圖,右側爲詳細視圖。細節視圖的頂部有一個工具欄。帶詳細視圖底部的工具欄/ tabbar的UISplitView
我想要添加的是一個標籤欄到詳細視圖的底部,並在工具欄tabbar之間的詳細信息視圖中加載標籤。
這裏是問題,我添加另一個視圖之間加載標籤,如果是的話,我怎麼得到它調整大小和尊重工具欄和標籤欄高度。
清除?
希望有人能指出我正確的方向。例子會很棒,網絡上的每個例子似乎都是開箱即用的世界風格。
因此,我開始使用iPad的標準Split View應用程序。左側爲根視圖,右側爲詳細視圖。細節視圖的頂部有一個工具欄。帶詳細視圖底部的工具欄/ tabbar的UISplitView
我想要添加的是一個標籤欄到詳細視圖的底部,並在工具欄tabbar之間的詳細信息視圖中加載標籤。
這裏是問題,我添加另一個視圖之間加載標籤,如果是的話,我怎麼得到它調整大小和尊重工具欄和標籤欄高度。
清除?
希望有人能指出我正確的方向。例子會很棒,網絡上的每個例子似乎都是開箱即用的世界風格。
是的,答案真的很簡單。 UITabBarControllers像SplitViewControllers是蘋果公司所希望的唯一的根視圖控制器,因此你不能在另一個視圖中嵌套TabBarController,但是你可以在視圖中嵌套一個UITabBar。
我將Tabbar添加到底部的詳細信息視圖,頂部的導航欄以及它們之間的佔位符視圖。所有在Interface Builder!中,您都希望使用佔位符視圖上的autosize切換所有內容。
接下來,實現UITabBarDelegate。爲此,您需要:
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
從,你可以用item.tag如果你給其中每個項目在Interface Builder一個獨特的標籤會讓你知道用戶點擊該選項卡
。我設置定義的值礦:
#define VIEW_TAB_A 0
#define VIEW_TAB_B 1
#define VIEW_TAB_C 2
然後,那麼你將要...好最好的,我只是讓你看到
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
[self switchToView:item];
}
- (void) switchToView : (UITabBarItem*) item {
if(currentViewController != nil) {
[currentViewController viewWillDisappear:NO];
[currentViewController.view removeFromSuperview];
}
switch(item.tag) {
case VIEW_TAB_A:
currentViewController = self.viewA;
break;
case SCAN_VIEW_TAB_B:
currentViewController = self.viewB;
break;
case PROMOTIONS_VIEW_TAB_C:
currentViewController = self.viewC;
break;
}
UIView *aView = currentViewController.view;
aView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
aView.frame = placeholderView.frame;
[currentViewController viewWillAppear:NO];
[self.view insertSubview:aView aboveSubview:placeholderView];
if(currentViewController != nil) {
[currentViewController viewDidDisappear:NO];
}
[currentViewController viewDidAppear:NO];
}
記住的Alloc的意見(viewA,viewB,viewC)第一在你viewDidLoad和顯然釋放dealloc。還要注意autoresizingMask!
希望這可以幫助別人。