2
目前我有5個選項卡。第三個標籤應該顯示一個只佔用一半屏幕空間的視圖,其餘的則需要整個屏幕。我想知道如何在tab的其餘部分顯示tab3的視圖。假設當前選中的選項卡是2並且用戶按下了選項卡3,它將在選項卡2的視圖頂部顯示選項卡3的視圖。有可能這樣做嗎?或者我必須創建自己的視圖並僞裝選項卡控制器。如何使用標籤欄控制器呈現透明視圖?
目前我有5個選項卡。第三個標籤應該顯示一個只佔用一半屏幕空間的視圖,其餘的則需要整個屏幕。我想知道如何在tab的其餘部分顯示tab3的視圖。假設當前選中的選項卡是2並且用戶按下了選項卡3,它將在選項卡2的視圖頂部顯示選項卡3的視圖。有可能這樣做嗎?或者我必須創建自己的視圖並僞裝選項卡控制器。如何使用標籤欄控制器呈現透明視圖?
問題解決; 不是很優雅,但它的作品。我僞造了帶有視圖控制器的Tab 3,該視圖控制器沒有視圖,並使tabItem 3成爲呈現視圖控制器的觸發器。 這樣的事情:
duplicatedTab3 = [[Tab3 alloc] init]
[tabbarController setViewControllers:[NSArray arrayWithObjects:tab1,tab2,tab3,tab4,tab5,nil]];
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
BOOL flag = NO;
NSUInteger tabIndex = [tabBarController.viewControllers indexOfObject:viewController];
if (viewController == [tabBarController.viewControllers objectAtIndex:tabIndex] &&
tabIndex != tabBarController.selectedIndex) {
if ([viewController isMemberOfClass:tab3]) {
if (![duplicatedTab3 isShowing])
[duplicatedTab3 show];
else
[duplicatedTab3 hide];
}
else {
flag = YES;
}
}
return flag;
}