2016-03-29 16 views
0

In meiner App verwende ich eine UITableView, um Artikel für den Benutzer anzuzeigen. Ich habe zwei Arten von UITableViewCells; eine, wo ein Artikel kein Bild hat und eine andere, wo ein Artikel ein Bild hat.iOS - UIImage + UILabel Constraint Konflikt in UITableViewCell

Beide Typen von haben einen Titel UILabel und eine Beschreibung UILabel. Ich habe die numberOfLines des Titels UILabel auf 0 gesetzt, da ein Artikeltitel lang oder kurz sein kann. Dies ist der entscheidende Faktor für die Höhe des UITableViewCell, da ich UITableViewAutomaticDimension verwende.

Es zeigt perfekt in dem Fall, wenn ein Artikel kein Bild hat etwa so:

enter image description here

jedoch in dem Fall, in dem ein Artikel ein Bild hat, daran zu arbeiten ist nicht, wie ich es brauche. Das sind meine UIConstraints:

Artikel Bild Ansicht

  • 0 Pixel vom rechten, oberen und unteren Rand der Zelle

  • Breite Beschränkung von 90 Pixel

Titel Etikett

  • numberOfLines ist 0

  • 8 Pixel von oben und links von der Zelle

  • 8 Pixel von

  • des Artikels Bildansicht links

Beschreibung Bezeichnung

  • numberOfLines ist 1

  • 8 Pixel aus

    der Zelle links
  • 0 Pixel von der Unterseite der Titel Label

  • 8 Pixel von links des Artikels Bildansicht

  • 8 Pixel von Boden der Zelle

Es zeigt wie auf den Punkt:

enter image description here

Dies ist sehr frustrierend, da meine Einschränkungen logisch genug aussehen, um die Aufgabe korrekt auszuführen.

Ich brauche mein Layout aussehen, wie der Pocket-App ist es wie so tun:

auf Irgendwelche Ideen

enter image description here

, was ich falsch mache? Jede Hilfe oder Beratung wäre willkommen. Vielen Dank.

***** ***** UPDATE

Auf Anraten @kirander habe ich den Inhalt Kompressionswiderstand Priorität meiner UIIMageView bis 250, geändert, die mir dieses Ergebnis erhalten half:

enter image description here

Gibt es eine Möglichkeit, den Restplatz im Title Label zu minimieren? Ich brauche die Höhe des Title Labels nur NUR, wenn der gesamte Text passt und nicht ein Pixel mehr.

+1

Ich glaube, Sie vergessen, Höheneinschränkung der Bildansicht hinzuzufügen. In Bezug auf den Screenshot wird die Zellenhöhe durch das Bild bestimmt. – kirander

+0

Ich wollte der Bildansicht keine Höhenbeschränkung geben, da die Bildansicht zu jeder Zeit sowohl den oberen als auch den unteren Rand der Zelle erreichen muss. – Rafi

+1

Ich verstehe. Dann sollten Sie die Priorität der Komprimierung der Inhaltskomprimierung in der vertikalen Achse ändern, damit die Beschriftung Vorrang vor dem Bild hat. – kirander

Antwort

0

Ich löste dies mit Hilfe von Kirander und Mike Taverne. Wenn Sie ein knappes Design ähnlich wie diese benötigen, das waren die Einschränkungen, die mir bekam, was ich wollte:

Artikel Bild Ansicht

  • 0 Pixel vom rechten, oberen und unteren Rand der Zelle

  • Breite Beschränkung von 90 Pixel

  • Content Compression Resistance Priorität -> 250

Titel Label

  • NumberOfLines ist 0

  • 8 Pixel von oben und links von der Zelle

  • 8 Pixel aus

    Artikel Bildansicht links

Beschreibung Etikett

  • NumberOfLines ist 1

  • 8 Pixel aus der Zelle von der Unterseite der Titel Label

  • 0 Pixel

    links (ich dies in der ursprünglichen Frage erwähnt, aber es stellte sich heraus, dass ich nicht hatte es...dass bewegte mich zu meiner Lösung)

  • 8 Pixel von links des Artikels Bildansicht Korrektur

  • 8 Pixel von Boden der Zelle

Diese Einschränkungen gab mir die folgende enge Design:

enter image description here

Verwandte Themen