gpt4 book ai didi

ios - 导航 Controller 呈现在我导航到的 View 上

转载 作者:技术小花猫 更新时间:2023-10-29 10:12:57 24 4
gpt4 key购买 nike

你们遇到过这个问题吗?

基本上在 iOS 7 中,导航 Controller 呈现在我导航到的 subview 上。

在 iOS 6 中,我导航到的 View 包含在导航栏和页脚之间。在 iOS 7 中, subview 看起来像是在导航栏和页脚下全屏呈现。结果用户看不到它。

这是我导航到 subview 的方式

BRSMyListSubViewController *tagsInfoVC = [[BRSMyListSubViewController alloc] initWithCheckinsList:self.checkinsList
selectedTag:[self tagByIndexPath:indexPath]];

[self.navigationController pushViewController:tagsInfoVC animated:YES];

这是我在 viewDidLoad 中初始化它的方式

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Settings" style:UIBarButtonItemStyleBordered target:self action:@selector(settings:)];

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Logout" style:UIBarButtonItemStyleBordered target:self action:@selector(logout:)];

值得一提的是, subview 是在 XIB 中使用自动布局定义的。这是我的 XIB 的来源:http://pastebin.com/6RR0zYu4

最后是它在 iOS 6 中的样子

enter image description here

在 iOS 7 中

enter image description here

有什么想法吗?

最佳答案

嗯,我想通了。

在你的 subview 中(在我的例子中是BRSMyListSubViewController),在viewDidLoad中,你需要设置这两个之一

self.edgesForExtendedLayout = UIRectEdgeNone;
self.automaticallyAdjustsScrollViewInsets = NO;

self.edgesForExtendedLayout = UIRectEdgeNone;
self.extendedLayoutIncludesOpaqueBars = YES;

有趣的是,在 Root View Controller 中,这些值分别设置为默认的 UIRectEdgeAllNOYES 但它的 tableView 不在导航栏和页脚下。

我不知道为什么这么不合逻辑。

同样奇怪的是,edgesForExtendedLayout 必须与其他两个属性之一混合,即使它显然对行为负责。

附言。对于那些想在 iOS 6 上运行它的人。用 if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7)

包围代码

关于ios - 导航 Controller 呈现在我导航到的 View 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18502135/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com