2017-03-13 13 views
-3

UIViewControllerなしでUITableViewを作成することはできますか?UIViewControllerのないUITableView

私はスタンドアロンUIViewとしてフレームワークでUITableViewを使用する方法を探しています。私はDataSourceを分離することができますが、それでも私はUIViewControllerを持っている必要があります。 UIViewControllerなしでUITableViewをどのようにフィードできますか?どの方向

+1

任意のオブジェクトは、ビューコントローラである必要はありません、テーブルビューのデータソース/委任することができます。 – dan

+1

"UIViewControllerなしでUITableViewを作成することはできますか?"もちろん。 "どうすれば..."あなたはどうしたらいいのですか?どうしたの? – matt

+0

テーブルをフィードすることができます前に、しかし、TableViewはViewController内にある必要があります。 –

答えて

2

ため

おかげで余分な物を必要とせず、あなたがテーブルビューはデータで自身を移入したい問題がありますか? UITableViewサブクラスを作成し、テーブルビューのデリゲートとデータソースにテーブルビュー自体(またはプロパティとして保持されているいくつかのヘルパーオブジェクト - それが良い)を切り替えます。

最小例:

class MyTableView : UITableView, UITableViewDelegate, UITableViewDataSource { 
    required init?(coder aDecoder: NSCoder) { 
     super.init(coder:aDecoder) 
     self.delegate = self 
     self.dataSource = self 
    } 
    override func didMoveToSuperview() { 
     self.register(UITableViewCell.self, forCellReuseIdentifier: "cell") 
    } 
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return 3 
    } 
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
     let cell = self.dequeueReusableCell(withIdentifier: "cell", for: indexPath) 
     cell.textLabel?.text = ["Manny", "Moe", "Jack"][indexPath.row] 
     return cell 
    } 
} 

enter image description here

+0

とすると、それは私が後になったものです。 UITableにUITableViewDataSource、UITableViewDelegateを実装するだけですか? –

+0

これはよく考えられた質問ではありませんでした:-)ありがとう –

+1

コード、スクリーンショットが追加されました。 – matt

関連する問題