2014-06-23 4 views
7

Ich konstruiere UITableCellView von Xib. Diese Xib verwendet autolayout und zwei UILabel s verbunden mit superview und haben vertikale Einschränkung.UILabel Autolayout Schnitt untere Pixel

Leider ist es Schneiden Pixel (n) an der Unterseite des UILabel: enter image description here

Was ich dabei?

UPD. Xcode gibt mir einen Fehler: Set vertical compression resistance priority to 749. Wenn ich mit Kompressionswiderstandspriorität spiele, bekomme ich zuerst Etikettenschnitt.

Antwort

2

Legen Sie fest, dass die Einschränkung für den vertikalen Abstand zwischen den beiden Beschriftungen niedriger als die vertikale Abstandseinschränkung zwischen den Beschriftungen und dem oberen und unteren Rand der Ansicht sein soll. Alternativ kann in Ihrer Stellvertretung, außer Kraft setzt

- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath

und

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

, die eine Höhe zurück, die die Einschränkungen und Etikettenhöhen wird Platz. Standardmäßig glaube ich, dass Sie 44 Pixel erhalten, also können Sie eine höhere Zelle erreichen, indem Sie diese überschreiben. Außerdem können Sie die Zellenhöhe in IB festlegen, wenn Sie Storyboards oder Nibs verwenden.

+0

Steigende Zellhöhe hilft nicht. Ich aktualisiere auch Frage mit xcode Fehler –

+0

Interessant, ich störe normalerweise nicht, den Kompressionswiderstand zu ändern, wie ich meine Elemente uncompressed lasse und ihnen gerade genug Raum gebe. @EugenMartynov Haben Sie versucht, die Zellenhöhe in Ihrer UITableViewCell in IB zu ändern? –

+0

Ich habe vergessen zu erwähnen, dass auch die Änderung der Priorität für die Einschränkung zwischen den Labels nicht geholfen hat. Aber diese Einschränkung hat eine Konstante 1. Also vielleicht ein Problem, wenn es um die Berechnung der Zellenhöhe geht. –