Ich bin ein sample project anhängen, damit Sie testen und sehen, was ich tun kann, um dies zu beheben.Größe UITableViewCell, um Etikett oder Bild und abgerundete Ecken anzupassen
Ich versuche, das Bild der Höhe dynamisch zu ändern und gleichzeitig zwei Ecken auf jeder anderen Zelle zu runden. Dies führt zu einer Maske, die abgeschnitten wird.
Grundsätzlich ist hier, was ich versuche zu erreichen:
HöheUITableView der Reihe ist auf automatisch.
_nTableView.rowHeight = UITableViewAutomaticDimension; _nTableView.estimatedRowHeight = 150;
Bilder herunterladen SDWebImage Bibliothek unter Verwendung eines CustomTableViewCell Verwendung
[self.nImageView sd_setImageWithURL:[NSURL URLWithString:imageUrl] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL){}];
Configure eine Zelle, die Ecken abzurunden auf seiner Zeile je
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.bubbleView.bounds byRoundingCorners:(UIRectCornerBottomLeft | UIRectCornerTopLeft) cornerRadii:CGSizeMake(20, 20)]; CAShapeLayer *maskLayer = [CAShapeLayer layer]; maskLayer.frame = self.bubbleView.bounds; maskLayer.path = maskPath.CGPath; self.bubbleView.layer.mask = maskLayer;
tun die obigen Ergebnisse in eine Maske ist abgeschnitten aber die Höhe wird korrekt berechnet. Siehe unten:
Basierend auf dieser stack overflow's question, müssen wir die Maske entfernen, wenn es eine gibt. Ich habe versucht, die Maske in der watchFromNib-Methode auf Null zu setzen, aber das hat keine Auswirkungen.
self.nImageView.layer.mask = nil;
self.nImageView.layer.masksToBounds = NO;
Ich habe auch versucht, aus dieser question die Antworten folgenden, aber es ergibt sich die App abstürzt.
Vielen Dank im Voraus.
Sie die Größe des Bildes festgelegt zu halten sind oder variabel? –
Ergreift Ihr Beispielprojekt ... ja, es stürzt ab, bis ich den Code "remove layer" in cellForRowAtIndexPath entferne ... aber ich kann nicht sagen, was Sie vorhaben. Hast du das Bild hier was du willst *? Wenn nicht, wie soll es aussehen? – DonMag
@DonMag Ich habe das Projekt mit dem Entfernen der "Schicht" Code aktualisiert. Wenn Sie [cell configureBubbleInRow: indexPath.row] kommentieren, werden Sie sehen, was ich zu sehen versuche. Sehen Sie dies: http://imgur.com/a/JVtA3 –