tableView.contentInset 在 iOS 7 上损坏

Posted

技术标签:

【中文标题】tableView.contentInset 在 iOS 7 上损坏【英文标题】:tableView.contentInset broken on iOS 7 【发布时间】:2013-09-23 05:57:41 【问题描述】:

在 UITableView 上设置 contentInset 似乎不适用于 ios 7:

self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 100, 0); 
// Works on iOS 6, nothing happens on iOS 7

我尝试在 viewDidLoad 中将 self.automaticallyAdjustsScrollViewInsets 设置为 NO,仍然没有。

我做错了什么?有没有新的方法或解决方法?

【问题讨论】:

【参考方案1】:

将此代码移动到视图控制器的 -viewDidLayoutSubviews 方法中为我解决了这个问题。

-(void)viewDidLayoutSubviews 
    [super viewDidLayoutSubviews];
    self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 100, 0); 

感谢 Apple 提供关于此的不存在的文档!

【讨论】:

谢谢,viewWillAppear 中似乎没有设置默认的内容插入,但它是在调用此方法时。我试图将视图移动到屏幕底部,这很有帮助。

以上是关于tableView.contentInset 在 iOS 7 上损坏的主要内容,如果未能解决你的问题,请参考以下文章

在出现键盘时处理 tableView contentInset

iOS7 和 iOS8 中的 UITableView contentInset 不同

iOS UITableView ExpandableHeader(可形变的Header)

隐藏第一个 TableView 部分标题高度 iOS 11

IOS TableView第一个单元格图像应该从状态栏开始

幻灯片视图控制器