UI

UITableView 设置 contentInset 没有自动

2021-03-16  本文已影响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

上一篇下一篇

猜你喜欢

热点阅读