0

プロジェクトに2つのUITableViewがあり、次のメソッドを使用して1つのテーブルにカスタムヘッダーを指定しています。

- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    if(tableView.tag == 3)
    {
    SectionInfo *array  = [self.sectionInfoArray objectAtIndex:section];
    if (!array.sectionView)
    {
        NSString *title = array.groupdeck.groupTitle;
        array.sectionView = [[SectionView alloc] initWithFrame:CGRectMake(0, 0, tblData.bounds.size.width, 45) WithTitle:title Section:section delegate:self];
    }
    return array.sectionView;
    }
    else{
        return 0;
    }

return 0;
}

これは、次のようなタグ3を使用してテーブルにヘッダーを与えています。

ここに画像の説明を入力してください

しかし、それは他のテーブルにもデフォルトのヘッダーを与えていますreturn 0

ここに画像の説明を入力してください

私は何が欠けていますか?

4

3 に答える 3

2

を返したため、デフォルトのヘッダーにデフォルト設定されている可能性があります0nil代わりに戻ってみてください。

From: tableView:viewForHeaderInSection: デフォルト値?

于 2013-02-27T07:39:35.030 に答える
2

試す :

otherTable.sectionHeaderHeight = 0.0;

他に何もする必要はありません。

または:

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section 
 { 
      if(tableView.tag == 3)
      {
          //Required height.
      }
      else
      {
          return 0.0; 
      }
 }
于 2013-02-27T07:57:13.623 に答える
0

Appleのドキュメントに書かれていることを参照して

 // custom view for header. will be adjusted to default or specified header height
    - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section; 

グループ化されたテーブルの高さが22、グループ化されていないテーブルの高さが10デフォルトのヘッダーが表示されています。

また、表示するビューの高さがUITableView 上記の値よりも高い場合は、UITableViewデリゲートメソッドも使用する必要があります

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section;
于 2013-02-27T08:19:19.323 に答える