Я использую безопасную область в iOS 11 так:
кодовое изображение
/** mainTableView **/
[self.view addSubview:self.mainTableView];
[self.mainTableView makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.view.left);
make.right.equalTo(self.view.right);
if (@available(iOS 11.0,*)) {
self.mainTableViewTop = make.top.equalTo(self.view.mas_safeAreaLayoutGuideTop).offset(navHeight).priorityLow();
self.mainTableViewBottom = make.bottom.equalTo(self.view.mas_safeAreaLayoutGuideBottom).offset(0).priorityLow();
}else{
self.mainTableViewTop = make.top.equalTo(self.view.top).offset(navHeight + iAStatusHeight).priorityLow();
self.mainTableViewBottom = make.bottom.equalTo(self.view.bottom).offset(-tabHeight);
}
}];
затем запустите в iPhone X
изображение макета iPhone X
Итак, где верхнее и нижнее ограничения?
Нет проблем с адаптером. но когда я хочу получить высоту представления. Это всегда будет возвращать 0.
вот так:
Я хочу рассчитать высоту таблицы в моем представлении:
высота стола
[self.mainTableView reloadData];
dispatch_async(dispatch_get_main_queue(),^{
if ([self isShowRefreshFooter]) {
CGFloat mainTableHeight = [self.mainTableView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height;
CGFloat contentHeight = self.mainTableView.contentSize.height;
if (contentHeight < mainTableHeight) {
self.reFreshFooter.hidden = YES;
}else{
self.reFreshFooter.hidden = YES;
}
}
});
но mainTableHeight всегда возвращает 0
возврат 0
, пожалуйста, помогите мне