Ich möchte eine UITableViewCell mit einem Storyboard nach links und rechts scrollen können. Geht das nicht

Ich habe alles versucht, was mir einfällt, und nichts funktioniert.

Ähnlich wie in der Mail.app von iOS 7 möchte ich die Zellen meiner Tabellenansicht nach rechts und links schieben können. Ich möchte in der Lage sein, dies in einem Storyboard und einem automatischen Layout zu tun, da der Großteil meiner App mit diesen erledigt wird. Ich verstehe Scroll-Ansichten mit Storyboards berechnen ihre contentSize anhand der Einschränkungen ihrer Unteransichten.

Damit habe ich vorwiegend zwei Strategien ausprobiert. Das erste, habe nur eine Beschriftung in der Scrollansicht, die ich nach rechts oder links schieben kann. Ich habe es so eingestellt, dass es oben in der Bildlaufansicht und unten klebt, aber 300 Punkte auf beiden Seiten des Etiketts, damit die Bildlaufansicht ihre contentSize berechnen kann. Dadurch wird das Etikett enorm nach rechts verschoben, sodass ich es beim Laden des Tisches nicht sehen kann.

Option zwei, die bevorzugte, besteht darin, eine UIView in die Bildlaufansicht einzufügen und dann die Beschriftung und so weiter darin einzutragen, damit sie alle mit ihrem übergeordneten UIView-Element als Gruppe positioniert werden können. Ich habe versucht, das UIView hier einfach so einzustellen, dass es am oberen und unteren Rand der Bildlaufansicht klebt. Die Breite ist auf 320 eingestellt, während die linke und rechte Seite 320 von den Rändern entfernt sind.

Dies beschwert sich, dass es keine Höhenbeschränkung gibt, aber ich sagte, dass es am oberen und unteren Rand der Bildlaufansicht bleiben soll. Wie zählt das nicht? Wenn die Zellengröße zunimmt, wird die Bildlaufansicht so eingestellt, dass sie mitwächst. Daher möchte ich, dass auch die innere Ansicht an Höhe zunimmt. Es beklagt sich auch aus irgendeinem Grund über die horizontale Position.

Hier ist ein Beispielprojekt mit allen genannten Einschränkungen.

Was zu Hölle ist hier los? Ist das eine unmögliche Aufgabe?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage