gpt4 book ai didi

iphone - NavigationBar 将 TableView 隐藏在 TabBarViewController 中

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:08:12 25 4
gpt4 key购买 nike

我有一个推送 TabBarViewController 的 ViewController。在那个 TabBar View Controller 中,我有 4 个选项卡。其中两个选项卡栏是 UITableViewControllers,另外两个是 ViewControllers。第一个选项卡是一个 TableView Controller 并且工作正常,即没有被导航栏隐藏。第三个选项卡是另一个 TableViewController,部分被导航栏覆盖。第一部分和第一个单元格隐藏在导航栏下方。过去有没有人遇到过这个问题,或者有人知道解决方案吗?我尝试了一些方法,例如手动调整帧大小

self.tableView.frame = CGRectMake(10,10,self.view.bounds.size.width -20, self.view.bounds.size.height-20);

这似乎没有用。我也试过 AutoLayout,但没有用。我不知道还能做什么。任何人对如何解决这个问题有任何建议或想法。

编辑:我试过 edgesForExtendedLayout 但它使我的导航栏颜色变深。它使导航栏中的颜色变化具有动画效果,有点像加载栏。

注意:这只发生在 ios7 中。我只是在 iOS 6.1 中模拟它,导航栏根本没有覆盖表格 View Controller ,这对我来说很奇怪。有人有什么建议吗?

编辑 #2:注意到这是一个 iOS 7 > 问题,我做了以下操作,但现在导航栏的颜色已更改为更深的颜色。

if([[[[UIDevice currentDevice] systemVersion] componentsSeparatedByString:@"."][0] intValue] >= 7)
{
if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
{
self.edgesForExtendedLayout = UIRectEdgeNone;
self.extendedLayoutIncludesOpaqueBars = YES;
self.automaticallyAdjustsScrollViewInsets = NO;
}
}

最佳答案

在与选项卡关联的 UITableViewController 的 viewDidLoad 方法中(假设它加载了对 tabBarController 的调用)

if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) {
self.edgesForExtendedLayout = UIRectEdgeNone;
self.tableView.contentInset = UIEdgeInsetsMake(0., 0., CGRectGetHeight(self.tabBarController.tabBar.frame), 0);
}

关于iphone - NavigationBar 将 TableView 隐藏在 TabBarViewController 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19366851/

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