2017-12-10 11 views
0

私は2つのセクションを持つUITableViewを持っています。第1のセクションは16行を有し、第2のセクションは9行を有することができる。私はタイトルとカスタムbakgroundを持つセクションの2つのカスタムviewHeadersを持っています。UITableViewのheaderViewを修正するには?

この画像のように、ヘッダーセクションを決められた位置に保つことができますか?次に、いくつかの行だけを表示し、これを表示するためにスクロールしますが、画面の中央にセクションヘッダーを保持しますか?

enter image description here

+1

を設定し、あなたはそれを達成するために2 'UITableView'を使用しようとしましたか? – trungduc

+0

2つのUitableViewを使用すると、これを達成するためのベストプラクティスのようだ。 –

+0

非常にカスタムのタスク、私はUICollectionViewをカスタムのUICollectionViewLayoutで、特定の動作のスティックヘッダーで作成する必要があると思います。または静的な行数がある場合は、Rlyは2つのテーブルを使用します。 – Bimawa

答えて

0

単一tableViewControllerで2 tableViewsを追加します。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
if (tableView == myTableView1) { 
    // cell for tableView 1 
} else { 
    // cell for tableView 2 
} 

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { 
if (tableView == myTableView1) { 
    //return header section 0 
} else { 
    // return header section 1 

} 

このようにすべてのデリゲートメソッドを設定します。

高さを固定する方法は? viewDidAppear

[tableView1 setFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height/2)]; 
[tableView2 setFrame:CGRectMake(0, self.view.frame.size.height/2, self.view.frame.size.width, self.view.frame.size.height/2)]; 
+0

私はこのコードを試していますが、二番目のtableViewのif条件を決して実行しません。 .xibの同じビューにUITableViewsを追加し、registerNib:およびreuseIdentifierカスタム.xibセルを使用しました。デリゲートとdataSourceを追加しました。何が問題なの?ありがとう – user3745888

関連する問題