2017-10-18 13 views
0

フォームレイアウトを設計する最良の方法は何ですか、私は静的なUITableViewを使ってみましたが、多くのセルがある場合、プロトタイプのセルを使用していますが、セル内の要素とやり取りするのは難しいです。 他のフォームは、UITableViewをUIScrollViewだけを使用しないで使用していますが、どのフォームが最適なフォームなのかわかりません。 要するに、これはフォームレイアウトを設計するのに最も使用される方法ですか?フォームレイアウトを設計する最良の方法は何ですか

編集:画像に示すように何かを達成する必要があります。

EDIT2:CustomCellの内部にピッカービューがある場合は、同じセルがUIPickerViewからデリゲートするか、pickerviewからデリゲートするViewControllerである方が良いでしょうか?

UIPickerViewのCustomCellデリゲートとオプションの文字列配列とプロトコルメソッドがそのクラスの中にあります。その場合、配列が文字列ではなくカスタムオブジェクトで構成されている場合はどうすればよいですか?私はPersonの配列を持っています.PickerViewに人名を表示する必要がありますが、私はviewcontrollerにその人の年齢を返す必要があります。その場合、配列型(別の型配列を扱うときはいつでも別の配列型)を管理する別のカスタムセルを作成する必要がありますか?それとも、多数の異なる型を作成する必要がないように統一する方法がありますか細胞クラス?あなたには、いくつかの並べ替えのユーザーにデータを表示しているとき

enter image description here

答えて

2

ここでの最良の方法は、依然としてUITableViewを使用することです。独自のカスタムセルを設計することで、将来的にフォームの変更を柔軟に行うことができます。

セルに似た種類の要素があり、自動レイアウト用の作業負荷を減らしたい場合は、Donovanの提案するカスタムセル内のUIStackViewを必ず実行してください。

UITableViewを使用する主な理由は、特定の行のindexPathを取得する際に大きな柔軟性が得られることです。フォームを保持する必要がある行数が増える場合でも、別のUIScrollViewを同じものに追加する必要はありません。

同じデザインの他のデザインが変更されている場合でも、カスタムセルを使用して、新しいセルに別のセル識別子を入れて "dequeueReusableCellWithIdentifier"を使用して新しいデザインを組み込むことができます。

希望すると便利です。

+0

それは私がやっていることです!だから私はそれについて別の質問があります、私は質問を編集しました、もう一度それを確認してください。ありがとう!!!! –

+0

私はそれを完全には理解していませんでしたが、これに似ていることを望みました:https://stackoverflow.com/questions/39494594/how-to-initialize-uipickerview-inside-custom-tableviewcell また、名前配列はピッカービューですが、返される値は年齢配列です。順番に辞書を使用する方がはるかに簡単でしょうか?辞書を使用すると複雑さが軽減され、キー値のペアに基づいて任意の値を取得できます。 – ShivamD

+0

あなたは大歓迎です!ハッピーコーディング:) – ShivamD

0

表ビューは、一般的に使用されています。あなたのケースでは、UIStackViewを試してみてください。 Hereは、あなたを始めるためのガイドです。

+0

@MartinRegas:フォームを動的にする必要がありますか(頻繁に変更する、または異なるユーザーに異なるフィールドを割り当てるなど)か、フォームには常に同じフィールドがありますか? –

+0

ありがとう、フォームは動的でなければなりません、私は質問を更新しました。 –

関連する問題