2011-05-17 18 views
-2

別のメソッドでメソッドのオブジェクトを使いたい。 どうすればいいですか?別のメソッドでオブジェクトを呼び出す

"cell"という名前のオブジェクトがあります。私はcellForRowAtIndexPathでそれをカスタムします。 didSelectRowAtIndexPathでカスタムしたいです。

ありがとうございました!

Floの

+1

質問を明確にしてください。 「cellForRowAtIndexPathのカスタム」とはどういう意味ですか? – Krishnan

+0

この場合、[performSelector](http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Protocols/NSObject_Protocol/Reference/NSObject.html)を使用できますか? –

+0

それは私が背景色を入れていることを意味しています。私のTableViewのセルをクリックすると、セルの背景を変更したいのですが、didSelectedRowatIndexPathにします。 –

答えて

0

あなたは

YourCustomCell *selectedCell = (YourCustomCell *)[tableView cellForRowAtIndexPath:indexPath]; 

EDITとしてdidSelectRowAtIndexPathで選択したセルを取得することができます:あなたのテーブルビューのセルクラスにする必要があります後

-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    YourCustomCell *selectedCell = (YourCustomCell *) [tableView cellForRowAtIndexPath:indexPath]; 
    selectedCell.selected = YES; // Calls setSelected:(BOOL)selected animated:(BOOL)animated function of table view cell. 
} 

- (void)setSelected:(BOOL)selected animated:(BOOL)animated { 
    // Configure the view for the selected state 
    if (selected) { 
     // set background for selected state... 
    }else { 
     // set background for unselected state... 
    } 

    [super setSelected:selected animated:animated]; 
} 
+0

ありがとうございました。 しかし、私はセルを選択し、私は最初の滞在を選択したセルの変更したい。 –

+0

申し訳ありませんが、あなたを得ることができません。あなたは説明していただけますか? –

+0

内部にtableviewcellを持つtableviewがあります。 セルを選択すると、バックグラウンドが変更されます:これが私が望むものです。 しかし、別のセルを選択すると、2つのセルが選択されています。最初のセルと新しいセルが選択されています。 最初のカスタム(cellForRowIndexPath)を最初に戻したい場合 –

0

はあなたがdidSelectRowAtIndexPathを押したときに変化するグローバル変数を作成する必要があります。その変数を変更したら、[theTableView reloadData]に電話してください。これにより、UITableViewは、見ることができるすべてのセルを再ロードします(cellForRowAtIndexPathを再度呼び出します)。

チェックボックスなどを追加する場合は、NSMutableArrayを追加し、そこに各セルのブール値を格納し、パラメータindexPath.rowを使用して、変更する必要があるオブジェクトを見つけます配列didSelectRowAtIndexPathを呼び出すとき。

関連する問題