2017-10-18 9 views
0

Was ist der beste Weg, um ein Formularlayout zu entwerfen, habe ich versucht mit statischen UITableView, aber ich weiß nicht, ob es eine gute Praxis ist, wenn ich viele Zellen habe und wenn Ich benutze Prototypzellen, es ist schwierig für mich, mit den Elementen in den Zellen zu interagieren. Andere Form ist ohne UITableView nur eine UIScrollView, aber ich weiß nicht, welche die beste Form ist. Kurz gesagt, welches ist die am häufigsten verwendete Methode zur Gestaltung eines Formularlayouts?Was ist der beste Weg, um ein Formularlayout zu entwerfen

EDIT: Ich muss etwas wie im Bild gezeigt erreichen.

EDIT2: Im Falle einer CustomCell haben eine Picker-Ansicht innerhalb, ist es besser, dass die gleichen Zelle Delegate von der UIPickerView oder es sollte der Viewcontroller, der von der Pickerview delegiert?

Nun sind meine CustomCell Delegaten von einem UIPickerView und die Optionen strings Array und Protokollmethoden innerhalb dieser Klasse, das ist okay ?, In diesem Fall, was kann ich tun, wenn das Array beispielsweise aus benutzerdefinierten Objekten statt Strings besteht Ich habe eine Reihe von Personen und ich muss in der Auswahlliste den Namen der Person anzeigen, aber ich muss zum Alter der Person zurückkehren. In diesem Fall muss ich eine andere benutzerdefinierte Zelle erstellen, die diesen Array-Typ verwaltet (und einen anderen, wenn ich ein anderes Array verwenden muss), oder gibt es eine Möglichkeit, dies zu vereinheitlichen, um zu vermeiden, dass viele verschiedene erstellt werden müssen Zellklassen ?.

enter image description here

Antwort

2

Die beste Methode hierin wäre immer noch die Verwendung von UITableView. Sie können Ihre eigenen benutzerdefinierten Zellen entwerfen, die Ihnen eine größere Flexibilität geben, wenn die Formularänderungen in der Zukunft stattfinden.

Wenn die Zellen ähnliche Elemente haben und Sie Ihre Arbeitslast für das automatische Layout reduzieren möchten, können Sie sicher das UIStackView in der von Donovan vorgeschlagenen benutzerdefinierten Zelle verwenden.

Der Hauptgrund für die Verwendung von UITableView besteht darin, dass es Ihnen eine große Flexibilität hinsichtlich des IndexPath für eine bestimmte Zeile bietet. Auch wenn das Formular hinsichtlich der Anzahl der Zeilen, die es behalten muss, zunimmt, müssen Sie kein separates UIScrollView zu demselben hinzufügen.

Wenn sich das Design für bestimmte Zeilen ändert, während andere immer noch das gleiche Design haben, können Sie benutzerdefinierte Zellen verwenden und den neuen Zellen einen anderen Zellbezeichner zuweisen und das "dequeueReusableCellWithIdentifier" verwenden.

Hoffe, das hilft!

+0

Das mache ich! Also, ich habe eine andere Frage dazu, ich habe die Frage bearbeitet, bitte überprüfe sie noch einmal. Und danke!!!! –

+0

Ich habe es nicht vollständig verstanden, aber ich hoffe, es ist etwas ähnlich zu diesem: https: //stackoverflow.com/questions/39494594/how-to-initialize-uipickerview-inside-custom-tableviewcell Auch in Bezug auf die name array ist die Picker-Ansicht, aber der zurückgegebene Wert ist ein alter-Array, wäre es nicht viel einfacher, ein Wörterbuch der Reihe nach zu verwenden. Die Verwendung eines Wörterbuchs reduziert die Komplexität und Sie können den gewünschten Wert basierend auf dem Schlüsselwertpaar abrufen. – ShivamD

+0

Gern geschehen!Viel Spaß beim Programmieren :) – ShivamD

0

Tabellenansichten, die allgemein verwendet werden, wenn Sie Daten an den Benutzer von einer Art sind anzuzeigen. Für Ihren Fall, wie wäre es mit einem UIStackView. Here ist ein Leitfaden für den Einstieg.

+0

@MartinRegas: Benötigen Sie das Formular, um dynamisch zu sein (ändern Sie häufig, oder haben Sie unterschiedliche Felder für verschiedene Benutzer usw.), oder wird das Formular immer die gleichen Felder haben? –

+0

Danke, das Formular sollte dynamisch sein, ich habe die Frage aktualisiert. –

Verwandte Themen