2015-09-22 56 views
-1
#define SCREEN_WIDTH ([[UIScreen mainScreen] bounds].size.width) 
#define SCREEN_HEIGHT ([[UIScreen mainScreen] bounds].size.height) 

#define NAVIGATIONBARHEIGHT 64.0 
#define TABBARHEIGHT 49.0 

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    UIViewController *viewController = [self viewControllerIndex:0]; 
    viewController.view.frame = CGRectMake(0.0,0.0, SCREEN_WIDTH, SCREEN_HEIGHT);//**strange issue is here** 
    [self addChildViewController:viewController]; 
    [self.view addSubview:viewController.view]; 
} 

添加到其ParentViewController當第一次加入SubViewController,我覺得它的框架高度應該是「SCREEN_HEIGHT - NAVIGATIONBARHEIGHT - TABBARHEIGHT」,但它不是,它看起來像:一個奇怪的問題,當SubViewController在第一時間

enter image description here

但我改變了SubViewController的幀高度,以 「SCREEN_HEIGHT」 就行了,它看起來像:

enter image description here

我很困惑,爲什麼「SCREEN_HEIGHT」還行?

+0

你是否像這樣定義你的'SCREEN_HEIGHT'? '#define SCREEN_HEIGHT [UIScreen mainScreen] .bounds.size.height' – Abhinav

+0

@Abhinav對不起,我編輯了這個問題。 – jxdwinter

回答

1

您將您的視圖作爲子視圖添加到導航控制器的視圖,並且您的導航控制器似乎嵌入到選項卡欄控制器中。從技術上講,您的子視圖將被剪掉,並且不能與導航控制器的導航欄和標籤欄控制器標籤欄重疊。這就是這些控制器的設計。你所期望的基本上可以通過自定義導航欄和標籤欄來實現。