2011-08-10 8 views
4

UITableViewCellのアイテムのリストを別のセクションに表示しています。私は今、私の問題は、私はviewForFooterInSection毎回を表示したくないですviewForFooterInSectionデリゲートにdidSelectRowAtIndexPathデリゲートのviewForFooterInSectionをリフレッシュ

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

をするUITextFieldを作成しました。その特定のセクションに対してdidSelectRowAtIndexPathをクリックするまでは、nil/hiddenでなければなりません。そして、UITextFieldはそのセクションだけに表示されるべきです。

クリック時にfooterViewを再読み込みする方法が混乱していますか?

答えて

5

セクションを再読み込みするだけで、フッタービューを再読み込みできます。あなたはブール変数を維持し、それに応じてゼロまたはフッターのビューを返すことができ、この呼び出しの後

[self.tableView reloadSections:[NSIndexSet indexSetWithIndex:sectionIndex] withRowAnimation:UITableViewRowAnimationNone]; 

、再び- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)sectionヒット、。

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section 
{ 
    if(conditionSatisfied) 
     return myFooterView; 
    return nil; 
} 

HTH、

Akshay

+2

セクションをリロードあなたはそうやっている可能性のある他のアニメーションを切り詰め。私はこれが存在するという兆候は見ませんでしたが、reloadSectionFooterメソッドが行く方法です。 –

1

最も単純な答えは、単に[tableView reloadData]と呼ぶだけです。これはアニメーションの種類を提供するものではありませんが、この場合アニメーションをサポートするための名目上の簡単な方法は考えられません。フッターのように見えるセクションの下部に行を挿入することで可能かもしれませんが、それは私が対処したくない問題の別の全ホストを伴います。

編集は:

[tableView reloadSections:withRowAnimation:]:ただ、おそらく若干良いオプションを発見しました。フッターをアニメートするかどうか、データプロバイダにクエリを行うかどうかはわかりませんが、それは価値があります。

関連する問題