我有一個UITableView myTable,其中每行都有UISwitch。如何知道哪個行在UITableView中打開
我如何找到表的行數開關被我switchChanged方式有何變化?
- (void) switchChanged:(id)sender {
UISwitch* mySwitch = sender;
NSLog(@"%d", mySwitch.on);
}
謝謝
我有一個UITableView myTable,其中每行都有UISwitch。如何知道哪個行在UITableView中打開
我如何找到表的行數開關被我switchChanged方式有何變化?
- (void) switchChanged:(id)sender {
UISwitch* mySwitch = sender;
NSLog(@"%d", mySwitch.on);
}
謝謝
一個建議可能是使用的代碼。
當您安裝在cellForRowAIndexPath:
與開關單元可以設置開關標籤的行值。這樣,你可以再次讀出的標籤,並獲得該行和項目...
如果你只有一個部分(或只是一個部分,使用該方法的開關),你可以存儲在交換機上的行數tag
屬性。或者,如果將自己限制在合理數量的部分和行中,則可以將標記號存儲在高位N位,並將行號存儲在標記整數的低位M位(N + M < 32以獲得最佳結果)。
或者你可以使用superview
從開關,直到你找到的UITableViewCell(使用isKindOfClass:
測試),然後用indexPathForCell:
在表視圖,找到索引路徑。
或者你可以繼承UISwitch有存儲索引路徑的屬性。
或者你可以使用objc_setAssociatedObject
到指數路徑與交換機關聯。
工程很棒。謝謝 – tiw 2011-03-19 20:07:36