-1

セクション番号を関数に取得しようとしています。私は使っている

-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

この関数からテーブルのセクションをリロードしようとしています

-(void)headerButtonPushed:(id)sender
{
    NSLog(@"Heder pressed: %d",[sender tag]);
    if (_state == [sender tag])
        _state = kAllSectionClose;
    else
        _state = [sender tag];
    // Here i need to reload the specific section
}

私はタグを持っていることを知っていますが、私が使用する必要がある機能は

[tableView reloadSections:indexPath withRowAnimation:UITableViewRowAnimationAutomatic];

そのためには、インデックスパスが必要です..

私は試します

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:[sender tag] inSection:0];

しかし、エラーが発生しましたか?

4

1 に答える 1

0

必要な indexPath は行の indexPath ではありません (これは、上記の最後の行で指定しているコード例です)。indexPath は、更新/再読み込みするセクションのインデックスです。

リロードする必要があるセクションのインデックスを知っていますか? ハードコーディングして、それが機能するかどうかを確認してください。(何らかの理由で)現在のセクションを特定できない場合は、いつでもテーブルビュー全体をリロードできます。[tableView reloadData];

于 2012-11-18T10:28:41.503 に答える