美文网首页UI
UITableView 设置 contentInset 没有自动

UITableView 设置 contentInset 没有自动

作者: 剧文轩 | 来源:发表于2021-03-16 15:17 被阅读0次
UITableView 设置 contentInset 没有自动改变
self.tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
self.tableView.contentInset = UIEdgeInsetsMake(44, 0, 0, 0);
[self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
    make.edges.mas_equalTo(0);
}];

虽然后续代码我们用约束调整好了为了位置,但是高度44仍然没有自动拉下来,需要手动拉一次才会正常

原因是因为CGRectZero,因为没有frame的原因。
创建对象时候给定fram = self.view.bounds就正常了。
UICollectionView没有此问题

iOS 11以下 -----主要:ios(7.0,11.0)

如果开启了vc的automaticallyAdjustsScrollViewInsets属性,并且也想要实现这种效果的。那么scrollView一定要第一个添加到self.view中。不然会失效。同时在开发自定义组件的时候,为了避免自己的scrollView意外的被automaticallyAdjustsScrollViewInsets修改offsetX值。可以先加一个高度0,宽度100%的view作为自定义视图的第一个subview

相关文章

网友评论

    本文标题:UITableView 设置 contentInset 没有自动

    本文链接:https://www.haomeiwen.com/subject/xqjdcltx.html