iOS 7自定义TableView位于TabBar下

Pau*_*nho 31 objective-c uiview tableview ios ios7

我尝试移植我的应用程序iOS7,但我的自定义TableViewController显示在下面的最后一行(单元格)TabBar:(

我正在寻找它,但我没有找到任何解决方案.谁能帮我?

我的自定义表视图类

该错误显示在打击屏幕截图中(仅显示最后一个产品的一部分,因为我正在向上展示以显示标签栏下的隐藏产品):

截图

谢谢.

Jos*_*vio 34

我有同样的问题,并使用故事板解决了它.在Tab Bar Controller中,转到属性检查器,Simulated Metrics,然后将Bottom Bar设置为Opaque Tab Bar.而已!有关说明,请参见下图. 在此输入图像描述

Saudações!(问候!)

  • 不透明只是一种解决方法:不要使用它,它很难看. (2认同)

Woj*_*tek 31

我在另一篇文章中找到了你的问题的答案,由dariaa回答,在这里:

Tab Bar涵盖iOS7中的TableView单元格

它对我很有用.

请不要相信我,因为我不是解决它的原始人.

在自定义TableViewController中,在[super viewDidLoad]下添加这两行:

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.edgesForExtendedLayout = UIRectEdgeAll;
    self.tableView.contentInset = UIEdgeInsetsMake(0., 0., CGRectGetHeight(self.tabBarController.tabBar.frame), 0); 
} 
Run Code Online (Sandbox Code Playgroud)


An *_* Se 10

我的朋友们,我不能告诉你我是多么挣扎.没有一个故事板的重新配置从来没有帮助过我.问题与原帖一样,我已设法使用以下方法修复它:

对于斯威夫特3

self.edgesForExtendedLayout = []
Run Code Online (Sandbox Code Playgroud)

对于objective-c

self.edgesForExtendedLayout = NO;
Run Code Online (Sandbox Code Playgroud)

  • 令人难以置信,但这就是我用选项卡下的视图解决问题的答案。 (2认同)

Mat*_*ler 8

2线viewDidLoad,就是这样!

self.edgesForExtendedLayout = UIRectEdgeAll;
self.tableview.contentInset = UIEdgeInsetsMake(0.0f, 0.0f, CGRectGetHeight(self.tabBarController.tabBar.frame), 0.0f);
Run Code Online (Sandbox Code Playgroud)

  • `UIRectEdgeAll`默认设置 (2认同)

Rah*_*diq 6

在iOS 7中,viewController使用全高.有一个属性介绍为

self.automaticallyAdjustsScrollViewInsets = NO;
Run Code Online (Sandbox Code Playgroud)

把它设为否.然后检查,或设置UIEdgeInset如果没有在它之后设置.

UIEdgeInsetsMake(top, left, bottom, right)
Run Code Online (Sandbox Code Playgroud)

请参阅此处 https://developer.apple.com/library/ios/documentation/userexperience/conceptual/TransitionGuide/AppearanceCustomization.html

编辑:也尝试这个

self.edgesForExtendedLayout = UIRectEdgeNone;
Run Code Online (Sandbox Code Playgroud)

  • 我把它(已经测试,如果你看到评论代码).但没有解决它:( (4认同)

Ami*_*itP 5

这个问题的根本原因automaticallyAdjustsScrollViewInsets只对First有效 VC的视图层次结构中滚动视图.Apple没有记录它,但它是VC检测需要修改的滚动视图的唯一方法,除非您使用的是UITableViewController.

因此,为了在不手动调整insets的情况下修复问题,请执行以下操作:

  1. 确保选中"调整滚动视图插入".
  2. 确保tableView是视图层次结构中的第一个子视图.(将其向上移动到所有其他元素之上)