2016-04-12 7 views
0

Ich habe Einschränkungen für eine Tabellenansicht Zelle wie folgt (die Mehrheit sind XCode supplements constraints).Bildansicht in Tabellenzelle hat Höhenbeschränkung mit Priorität 1000, aber Bild ist gequetscht

enter image description here

Aber wenn der Code der Zeilenhöhe der Zelle ausgeführt wird, ist etwa die Hälfte von dem, was es in der Leinwand ist. Anfangs hatte ich keine Seitenverhältniseinschränkung und die untere Hälfte des Bilds fehlte, wenn der Ansichtscontroller ausgeführt wurde. Nach dem Hinzufügen einer Seitenverhältniseinschränkung wurde stattdessen das Bild gequetscht.

enter image description here

Ich verstehe nicht, warum dies geschieht. Warum, wenn die Höhe der Bildansichtsbeschränkung die Priorität 1000 hat, wird sie ignoriert?

+0

tooks was die contentMode auf dem Imageview ist ? Haben Sie versucht, auf AsepctFit zu setzen? – SeanLintern88

+1

Sie sollten eine Protokollmeldung in Ihrer Konsole haben, in der Sie erklären, dass Ihre Einschränkungen nicht erfüllt werden konnten und die automatische Layout-Engine eine auswählen musste, um zu brechen (Ihre Beschränkung der Bildansichtshöhe). Es sieht so aus, als wäre die Zeilenhöhe Ihrer Tabellenansicht falsch. – dan

Antwort

1

Versuchen Sie, die Höhe der Zelle in

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    return 50; 
} 

zu setzen wie, dass es aussehen ist wie Sie nicht die heightForRowAtIndexPath so eingestellt, dass es die Standardhöhe von 44

+0

Das ist es tatsächlich. Eigentlich hatte ich mir diese Methode nicht entgehen lassen, ich hatte angenommen, dass es Einschränkungen im Storyboard geben würde, die sie verwenden würden. Scheint wie eine Unterlassung zu mir, sollte diese Funktion den Storyboard-/Constraint-Wert nehmen, wenn sie geliefert wird, anstatt die Standardhöhe. – Gruntcakes

+0

Wenn Sie Ihre Zeilenhöhe auf 'UITableViewAutomaticDimension 'setzen, wird sie basierend auf den Einschränkungen berechnet – dan