删除UINavigationItem提示在导航栏底部创建黑色空格

时间:2013-12-31 14:26:47

标签: objective-c uinavigationcontroller prompt uinavigationitem

我的故事板中有一个带有提示文字行的视图控制器,但是当我在导航栏中按下一个没有提示行的新视图控制器时,我在导航栏和视图控制器主视图之间得到了这个(见图片)黑色空间

black area under the navigation bar

我已经尝试使用以下方法删除提示:

    [self.navigationItem setPrompt:nil];

但我仍然遇到这个问题。

2 个答案:

答案 0 :(得分:3)

这是setPrompt的解决方法。它没有动画,所以我称之为解决方案而不是解决方案。必须在viewDidAppear中,而不是viewWillAppear。

-(void) viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];

    // This is needed for apple bug with self.navigationItem.prompt
    [self.navigationController.navigationBar setNeedsUpdateConstraints];
}

答案 1 :(得分:0)

我遇到了同样的问题,在下一个视图出现之前删除了viewWillDissapear中的提示符:

- (void) viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];

    [[self navigationItem] setPrompt: nil];
}