別のメソッドでメソッドのオブジェクトを使いたい。 どうすればいいですか?別のメソッドでオブジェクトを呼び出す
"cell"という名前のオブジェクトがあります。私はcellForRowAtIndexPathでそれをカスタムします。 didSelectRowAtIndexPathでカスタムしたいです。
ありがとうございました!
Floの
別のメソッドでメソッドのオブジェクトを使いたい。 どうすればいいですか?別のメソッドでオブジェクトを呼び出す
"cell"という名前のオブジェクトがあります。私はcellForRowAtIndexPathでそれをカスタムします。 didSelectRowAtIndexPathでカスタムしたいです。
ありがとうございました!
Floの
あなたは
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];
}
ありがとうございました。 しかし、私はセルを選択し、私は最初の滞在を選択したセルの変更したい。 –
申し訳ありませんが、あなたを得ることができません。あなたは説明していただけますか? –
内部にtableviewcellを持つtableviewがあります。 セルを選択すると、バックグラウンドが変更されます:これが私が望むものです。 しかし、別のセルを選択すると、2つのセルが選択されています。最初のセルと新しいセルが選択されています。 最初のカスタム(cellForRowIndexPath)を最初に戻したい場合 –
はあなたがdidSelectRowAtIndexPath
を押したときに変化するグローバル変数を作成する必要があります。その変数を変更したら、[theTableView reloadData]
に電話してください。これにより、UITableView
は、見ることができるすべてのセルを再ロードします(cellForRowAtIndexPath
を再度呼び出します)。
チェックボックスなどを追加する場合は、NSMutableArray
を追加し、そこに各セルのブール値を格納し、パラメータindexPath.row
を使用して、変更する必要があるオブジェクトを見つけます配列didSelectRowAtIndexPath
を呼び出すとき。
質問を明確にしてください。 「cellForRowAtIndexPathのカスタム」とはどういう意味ですか? – Krishnan
この場合、[performSelector](http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Protocols/NSObject_Protocol/Reference/NSObject.html)を使用できますか? –
それは私が背景色を入れていることを意味しています。私のTableViewのセルをクリックすると、セルの背景を変更したいのですが、didSelectedRowatIndexPathにします。 –