2009-05-05 19 views
1

UITableViewControllerから継承したRootViewControllerクラスがあります。 ユーザーがセルを選択解除すると、ツールバーの特定のボタンを有効/無効にしたいとします。iPhone UITableViewCellの選択を解除できません

どのように選択解除イベントをトラップしますか?

-(void)tableView:(UITableView *)tableView deselectRowAtIndexPath:(NSIndexPath *)indexPath animated:(BOOL)animated 
{ 
    if(indexPath.row <= rowNumber) 
    { 
     [viewButtton setEnabled:NO]; 
     [editButtton setEnabled:NO]; 
    } 
} 

この方法を試しましたが、全く実行されていないようです。どのようにどのようにこれを行うことができる任意のアイデア?

答えて

0

これは、私はあなたのメソッドの宣言は(でSDKと一致していないことに気づいた...現在ベータそれはバギー/サポートされていない/変更することができることを意味のみSDKに

です少なくとも、私が持っているバージョン)。

animated:(BOOL)animatedを削除してみてください。私はそれがここに当てはまるとは思わない。

UITableView.hの行〜345を参照してください。didDeselectRowAtIndexPathを右クリックすると、「デリゲートメソッドの定義方法」がわかります。あなたの目標は、「有効/セルが選択されたときに特定のボタンを無効化」するだけであれば、言っ

- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath; 

はうまく動作するはずです。これは、セルを選択してから選択を解除する前に発生します。 '選択解除'は、ユーザーとのやりとりよりアニメーションの処理が多くなければなりません。選択解除を使用したいと思う唯一の理由は、選択したセルが強調表示されなくなった後にイベントが発生することを保証するという美的価値である可能性があります。

関連する問題