objective-c - 当我关闭 iOS 7 中的模态视图时,为什么我的导航栏会暂时消失?

标签 objective-c uinavigationbar ios7

当我从我的模态视图 Controller 返回到我的主视图 Controller (我有一个水平动画)时,我的主 Controller 导航栏将自己放置得有点高,很快就会跳回正确的位置。有人知道为什么吗?我一直在谷歌上搜索它,但没有成功。

应用委托(delegate):

 [navigationController.navigationBar setBarTintColor: [UIColor whiteColor]];
 [navigationController.navigationBar setTranslucent: NO];

当我按下按钮打开我的信息 View 时:

UIViewController *infoViewController;
infoViewController = [[InfoViewController alloc] initWithNibName:@"InfoViewController" bundle: nil];
infoViewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentViewController: infoViewController animated: YES completion:nil];

我没有在任何 xib 文件上使用自动布局。我的主视图 Controller xib 文件为空,状态栏为:默认。我的信息 View Controller xib 文件中有一些内容。

关闭模态视图 Controller 的代码:

-(IBAction)onBackBtnClick:(id)sender
{
    [self dismissModalViewControllerAnimated: YES];
}

最佳答案

您所要做的就是在“Info ViewController”viewController 类的 ViewWillAppear 中添加以下代码

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

    [self.navigationController.navigationBar setTranslucent:NO];
    [self.navigationController.navigationBar.layer removeAllAnimations];
}

希望它对你有用:)

关于objective-c - 当我关闭 iOS 7 中的模态视图时,为什么我的导航栏会暂时消失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19052815/

相关文章:

ios - 导航栏在搜索结果表格 View 中消失

iphone - UIView 不尊重 UINavigationController 中 'loadView' 中的框架

iphone - 如何改变UINavigationBar的颜色?

ios - 使用分段 Controller 更改 View

ios7 - 替换 uitextview 的布局管理器

带有 uitabbarcontroller 的 ios 7 bottomLayoutGuide

iphone - UISearchBar 不显示范围栏

ios - Objective C 中的简单 MIDI 文件编写器

iphone - 如何从非标准 URL NSString 对象中提取参数?

ios - 支持 iOS7 和 iOS8 时的 Storyboard启动图像