Tôi có UITableView sử dụng bố cục tự động. Tôi có nhiều loại ô, nhưng bây giờ chúng ta hãy sử dụng đơn giản nhất của tất cả, một ô chỉ có một nhãn UILabel.Xóa phần đệm/lề UILabel khi sử dụng bố cục tự động
Trong tableView:heightForRowAtIndexPath:
Tôi đã đoạn mã sau:
[self configureCell:self.detailsCell forRowAtIndexPath:indexPath];
[self.detailsCell layoutIfNeeded];
CGSize size = [self.detailsCell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];
return size.height + 1;
nó sẽ gọi
- (void)configureCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
// ...
cell.detailsLabel.text = self.data.myText;
cell.detailsLabel.font = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];
// [cell.detailsLabel sizeToFit]; <- I tried this, but didn't help
}
và tôi kết thúc việc này:
Hình chữ nhật màu xanh lục là ô thực tế. Hình chữ nhật màu tím là UILabel. Tôi không muốn trên cùng và dưới cùng màu tím đệm/lề. Làm sao để tôi thoát khỏi nó?
Hình như bạn có các hằng với những lề thiết lập trong kịch bản này. Vì vậy, nó hoạt động chính xác như nó cần. – sha
Những lề đó là màu xanh lá cây. Anh ta không muốn phần đệm bên trong nhãn. – Paludis