2016-04-25 12 views
0

同じレイアウトの約5つの画面でテーブルビューをしたいです。 最適なアプローチは何ですか?私は単一のクラスを作成し、そのクラスを持つ他のビューコントローラを継承する必要がありますか?別のコーディングを使用して各画面でテーブルビューを作成しますか?テーブルビュー用に単一のクラスを作成し、他のすべてのクラスで継承する方法は?

+1

同じレイアウトとは、同じセル、同じタイプのセル内の項目の詳細(同じモデルクラス)を意味しますか?これはあまりにも広い質問です... – Wain

+0

1つの画像と1つのテキストビューのように、すべての画面でセルの詳細が同じになります –

+0

サブクラスごとに共通のUIカスタマイズ、ロジック、およびメソッドを配置できるスーパークラスビューコントローラを作成できます。 – Xchord

答えて

0

UITableViewCellのサブクラスを作成し、それをあなたのアプリケーションを通してセルレイアウトとして使用する必要があります。

あなたは全体でまったく同じ性質を持っているのUITableViewが必要な場合は、あなたも(スウィフトに)このようのUITableViewの拡張機能を作成することができ

extension UITableView { 
    class func defaultTableView() -> UITableView { 
     let tableView = UITableView() 
     // Setup your default tableView properies here 
     return tableView 
    } 
} 
0

これはあなたの5つのフォーム間で類似しているかに依存します。

  1. あなたはそれぞれ(同じデータを持つ)で同じテーブルビューを持つ5つの異なる形を持っていますが、フォーム上の他のコントロールが異なる場合があります場合は、最善のアプローチは、1つのTTableViewコントローラを作るです。次に、5つのフォームのそれぞれにViewContainerを置き、コンテナから個別のTableViewControllerに埋め込みセグを作ります。

  2. テーブルビューが異なる5つのフォームがありますが、このテーブルビューは似ていますが、最良の方法は、独自のxibを持つ1つのUITableViewCellを作成し、5つのTableViewすべてで使用することです(tskippeの回答)。

関連する問題