Ich verwende ein UITableViewCell mit UITableViewCellStyleSubtitle. Wegen des Hintergrundbildes, das ich für die Zelle verwende, mag ich nicht, wohin das detailTextLabel geht. Ich möchte es verschieben und die Größe in der Zelle ändern, aber nichts, was ich versuche, scheint zu funktionieren.Anpassen der Positionen der Beschriftungen in einem UITableViewCell
CGRect currRect = cell.detailTextLabel.frame;
cell.detailTextLabel.frame = CGRectMake(currRect.origin.x + 20, currRect.origin.y, currRect.size.width - 40, currRect.size.height);
Ich habe versucht, diesen Code in beiden Tableview setzen: cellForRowAtIndexPath und Tableview: willDisplayCell: forRowAtIndexPath Methoden, aber weder funktioniert. Das Etikett bleibt einfach dort, wo es ist und die gleiche Größe.
Die Anpassung anderer Eigenschaften des Etiketts (textAlignment, backgroundColor und natürlich der Text selbst) funktioniert ordnungsgemäß.
Wie bekomme ich die detailTextLabel zu bewegen, wo ich brauche?
Falls dies von Bedeutung ist (obwohl ich nicht verstehe, warum es so sein sollte), hat diese spezielle Zelle auch die Eigenschaften imageView.image und backgroundImage gesetzt. Beide Bilder werden korrekt angezeigt.
Vielen Dank. Ich wusste, dass du das schon machen könntest, aber ich wusste nicht, dass es die layoutSubviews-Methode war, die außer Kraft gesetzt werden musste. – executor21
Das ist ein guter Rat. Jedoch habe ich dieses Problem noch, wo ich, während ich die Etikettenabmessungen anpassen kann, es zum Beispiel nicht dazu bringen kann, mehrere Zeilen zu wordwrap und anzuzeigen, d. H .: \t self.textLabel.numberOfLines = 2; \t self.textLabel.lineBreakMode = UILineBreakModeWordWrap; – Joey
Das Verhalten der .textLabel-Eigenschaft sollte mit jedem anderen UILabel identisch sein, also geben Sie ihm vielleicht nicht genügend vertikalen Platz? –