2017-03-17 5 views
0

私は、動的な数のセルを使用し、その基準でテーブルの高さのサイズを変更します。私はテーブルのサイズを変更するように見えないので、これを自分で行う方法を考え出すことができます。私が100のセルを使うか10を使うかは、同じ高さに設定されます。カスタムUITableViewの高さを設定するにはどうすればよいですか?

class generalTableViewController: UITableViewController { 


    override func viewWillAppear(_ animated: Bool) { 
     tableView.rowHeight = UITableViewAutomaticDimension 
     // self.tableView.contentSize.height = 2000 
     // self.tableView.frame.size.height = 2000 
    } 
    override func viewDidLoad() { 
     super.viewDidLoad() 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
    } 

    override func numberOfSections(in tableView: UITableView) -> Int { 
     return 1 
    } 

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return 1000 
    } 

    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
     let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) 

     return cell 
    } 
} 
+2

使用: - tableViewのheightForRowAtIndexPathメソッド –

+0

'UITableViewCell'の高さを設定しようとしていますか?または 'UITableView'の高さですか? –

+0

私はUITableViewCellを調整することができます、それは私が問題を抱えているUITableViewです。 – user6688986

答えて

0

一般に、UITableViewControllerがビュー全体を引き継ぎます。 UITableViewでビューの一部だけを占有するには、UIViewControllerを使用します。

あなたは、管理対象となるビューがテーブルビューでのみ一つは、複数のサブビューで構成されている場合は、テーブルビューを管理するためのUIViewControllerのサブクラスではなく、のUITableViewControllerのサブクラスを使用する必要があります。 UITableViewControllerクラスのデフォルトの動作は、ナビゲーションバーとタブバー(存在する場合)の間でテーブルビューを画面に表示させることです。

アップルガイダンスの場合はhereを参照してください。あなたは基本的に、コントローラーがあなたのために通常扱うもののいくつかを世話する必要があります。

+0

私はUIViewControllerを使用しようとしましたが、それでも高さの限界を回避することはできません。私は間違った用語を使用している可能性があります。それは私がスクロールするとき、私はそれが私がより多くの行を持っている場合、私は決してそれを超えて得ることができない固定された距離をスクロールすることができます私は1000行を言う。 – user6688986

関連する問題