Wie kontrolliere ich die position eines Bildes in einem grouped tableview cell?
Aus irgendeinem Grund, ich kann nicht scheinen, zu ändern standardmäßig wird die position eines Bildes in einem grouped tableview cell.
In der cellForRowAtIndexPath Methode, die ich verwenden Sie die folgenden, um das image laden:
cell.imageView.image = [UIImage imageWithContentsOfFile:MainImagePath];
Ich habe experimentiert mit der folgenden zu passen Sie die position des Bildes, aber kein Glück hatten.
cell.contentMode = UIViewContentModeCenter;
Habe ich auch versucht, dies ohne Glück.
cell.imageView.contentMode = UIViewContentModeCenter;
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie den Rahmen der Bildansicht ie:
Zelle.Bildansicht.frame = CGFrameMake(0.0, 0.0, 20.0, 20.0);
oder legen Sie die Mitte der Bildansicht mit
Zelle.Bildansicht.center = CGPointMake (20.0, 10.0);
=Seth
EDITIERT: Danke Jonah, ich fixe das!
Dem Standard-layout von UITableViewCell ist [Bildansicht][textLabel][accessoryView]. Sie kann das nicht ändern.
Wenn Sie möchten, um beliebig positionieren Sie ein Bild in Ihrem UITableViewCell müssen Sie einen UIImageView zu der Zelle
contentView
.Verschieben der
imageView
, müssen Sie ändern Sie den Rahmen. Die Dinge, die Sie machen sind einfach umkonfigurieren, wie es reagiert, um die Ansicht zu verändern. Versuchen Siecell.imageView.center
um die neue Mitte, die Sie wollen.Sollten Sie sich bewusst sein
tableView:willDisplayCell:forRowAtIndexPath:
. Diese wird aufgerufen, unmittelbar bevor die Anzeige in der Zelle, und ist Ihre Letzte (und oft besten) chance, sich zu etablieren layout.tableView:cellForRowAtIndexPath:
genannt wird, viel früher an und die Ergebnisse zwischengespeichert. Also das layout kann falsch sein, wenn es wirklich angezeigt ist (wegen Ansicht Größenänderung zum Beispiel). Das ist, warum wir in der Regel tun-layout intableView:willDisplayCell:forRowAtIndexPath:
.