Mam UITableView, który używa automatycznego układu. Mam wiele typów komórek, ale na razie użyjmy najprostszego ze wszystkich, takiego, który ma tylko UILabel.Usuwanie wypełnienia/marginesu UILabel podczas korzystania z automatycznego układu
W tableView:heightForRowAtIndexPath:
Mam następujący kod:
[self configureCell:self.detailsCell forRowAtIndexPath:indexPath];
[self.detailsCell layoutIfNeeded];
CGSize size = [self.detailsCell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];
return size.height + 1;
co z kolei wywołuje
- (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
}
i skończyć się coraz to:
Zielony prostokąt jest rzeczywistą komórką. Purpurowy prostokąt to UILabel. Nie chcę dopełnienia/marginesu górnego i dolnego. Jak mogę się go pozbyć?
Wygląda jak masz stałe z tymi konfiguracji marginesy w serii ujęć. Więc zachowuje się dokładnie tak, jak powinien. – sha
Te marginesy są zielone. Nie chce dopełnienia wewnątrz samej etykiety. – Paludis