2017-11-05 3 views
0

Umwelt: Xcode + Swift 4Benutzerdefinierte UITableViewCell Inhalt wird durch Löschtaste im Bearbeitungsmodus überlappt

ich das Tutorial folgende Start Developing iOS Apps (Swift) eine App zu erstellen, die UITableView mit den Mahlzeiten zu zeigen, Editiermodus Eingabe Mahlzeiten zu löschen und andere Funktionen.

Mein Problem ist, wenn ich Bearbeitungsmodus aufzurufen, die am weitesten rechts stehende Stern wird durch die Löschtaste überlappt:

enter image description here

Das Tutorial sagt

Um dies zu beheben, müssen Sie Legen Sie die Zelle mit verschachtelten Stack-Ansichten und Auto-Layout-Einschränkungen aus. Aber das ist eine Übung für den Leser.

Die fünf Sterne sind in einer benutzerdefinierten horizontalen Stapelansicht eingebettet. Und die horizontale Stapelansicht und eine Beschriftung sind in einer vertikalen Stapelansicht eingebettet.

Die Bildansicht hat folgende Einschränkungen:

enter image description here

und die vertikale Stapelansicht hat folgende Einschränkungen:

enter image description here

ich versuchen, eine neue Einschränkung für die vertikalen Stapel Ansicht hinzufügen um das Problem zu lösen:

enter image description here

Aber der am weitesten rechts stehende Stern wird geschrumpft:

enter image description here

Wie Sie das am weitesten rechts stehenden Sterne verhindern, dass durch die Löschtaste überlappte oder geschrumpft?

Vielen Dank.

+0

Sind die Sterne auch Bildansichten? – Sweeper

+0

Jeder Stern ist ein UIButton – Nestarneal

+0

Ich sehe, hat meine Antwort funktioniert? – Sweeper

Antwort

1

Das Hinzufügen einer nachlaufenden Einschränkung zur horizontalen Stapelansicht sollte funktionieren. Sie müssen nur die Sterne anpassen.

Zuerst die distribution der Stapelansicht auf .fillEqually setzen, so dass alle Sterne dieselbe Breite haben.

Setzen Sie dann die Sterne contentMode auf .scaleAspectFit, so dass sie nicht gestreckt aussehen und nur unter Beibehaltung des Seitenverhältnisses schrumpfen.

Verwandte Themen