2012-03-19 8 views
2

私は簡単な質問があります。私はUITableViewから特定のセルを隠す必要があります。 heightForRowAtIndexPath: 、ここでは私の実装です:私は、デリゲートメソッドのtableViewがわかった何 テーブルビューから特定のセルを完全に隠すには?

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if(indexPath.section == 0) 
     return 0; 
    return 45;  
} 

は、残念ながら、これはjob.Theセルがラインに縮小されて、私は本当に理解することはできませんしませんどのような続行中です。 ご協力いただければ幸いです。ありがとうございます。

+0

削除または削除全体ですか? – Narayana

+1

それに応じてデータソースを更新してみてください。 – Bourne

+0

その行はおそらくセパレータです。 'tableView'の' separatorStyle'を 'UITableViewCellSeparatorStyleNone'に設定してみてください –

答えて

0

cellForRowAtIndexPath:メソッドで更新する必要があります。

1

データソースからアイテムを削除することは、特定のセルエントリを削除する正しい方法です。 (cell.hidden=YES;を設定しようとすると、そのセルの代わりに空白が残り、セルの高さを0に設定してもセルの高さを0に設定することはできません)

+0

あなたの答えをありがとう。私は実際に私のためにうまくいくデータソースを更新する非常に簡単な解決策を見つけました。 – e2l3n

+2

FYIでは、tableView:heightForRowAtIndexPathを使用して、このようにする必要がある場合(つまり、データソースを変更できないstatic tableViewの場合)に空白を取り除くために0を返すことができます。 – lnafziger

2

セルの高さを0 tableView:heightForRowAtIndexPath:メソッドでは、hiddenプロパティでセルを非表示にします。ユーザーの操作後にこの効果を望む場合は、テーブルをreloadData経由でリロードする必要があります。

関連する問題