0
希望第三次幸運:的TabBar和導航欄視圖部分地隱藏
只是試圖獲取內容出現下面導航欄和上面的標籤欄(有沒有它,下面會出現兩種)。
我已經嘗試幾乎所有的東西,無濟於事。
隨着內rootController了下面的代碼,我只是想有一個視圖(紅色邊框,以幫助顯示,如果它的工作):
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
UIView *view1 = [[UIView alloc] initWithFrame:self.view.frame];
view1.layer.borderColor = [UIColor redColor].CGColor;
view1.layer.borderWidth = 2.0f;
[self.view addSubview:view1];
}
和設置爲幸福:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
TSTFirstViewController *rootController = [[TSTFirstViewController alloc] init];
rootController.title = @"Hello World";
UINavigationController *firstRootController = [[UINavigationController alloc] initWithRootViewController:rootController];
NSArray *viewControllers = @[firstRootController];
UITabBarController *tabBar = [[UITabBarController alloc] init];
tabBar.viewControllers = viewControllers;
tabBar.tabBar.barStyle = UIBarStyleBlack;
tabBar.tabBar.translucent = NO;
[self.window setRootViewController:tabBar];
[self.window makeKeyAndVisible];
return YES;
}
我得到:
如果我添加兩個行我AppDelegate
:
firstRootController.navigationBar.translucent = NO;
firstRootController.navigationBar.barStyle = UIBarStyleBlack;
這一切都變得非常混亂:
的紅色邊框下移,底部邊框消失的標籤欄下方。並出現一個大的空白。
如果我刪除了半透明線,並添加:
self.edgesForExtendedLayout = UIRectEdgeNone;
到視圖控制器,我得到:
半透明的酒吧,在正確的位置紅色邊框導航欄下,但tabBar下方的下邊框。
我相信我已經嘗試過所有的組合和所有的想法。
任何人都可以請告訴我如何讓內容適合在導航欄下面,在標籤欄之上而不使用Interface Builder。
在此先感謝。
非常感謝您的幫助......但我不禁想知道是否有比這更容易的東西?我會認爲使用'self.edgesForExtendedLayout'可以使視圖適合,而不必計算所有單個組件的高度。 – Darren