Ich habe einen UISwitch in einem UITableViewCell hinzugefügt, der Tabelleninhalt ist Dynamik, was bedeutet, dass es viele UISwitches in einer Tabellenansicht geben kann, ich muss den UISwitch-Status für jedes UITableViewCell erhalten nicht die indexPath
in accessoryButtonTappedForRowWithIndexPath
Methode bekommen.IndexPath für das Antippen von UISwitch in einem UITableViewCell nicht
mein Code:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
LocationCell *cell = (LocationCell *)[tableView
dequeueReusableCellWithIdentifier:@"LocationCell"];
UISwitch *useLocationSwitch = [[UISwitch alloc] initWithFrame:CGRectZero];
[cell addSubview:useLocationSwitch];
cell.accessoryView = useLocationSwitch;
[useLocationSwitch addTarget: self
action: @selector(accessoryButtonTapped:withEvent:)
forControlEvents: UIControlEventTouchUpInside];
return cell;
}
- (void) accessoryButtonTapped: (UIControl *) button withEvent: (UIEvent *) event
{
NSIndexPath * indexPath = [showLocationTableView indexPathForRowAtPoint: [[[event touchesForView: button] anyObject] locationInView: showLocationTableView]];
if (indexPath == nil)
return;
[showLocationTableView.delegate tableView: showLocationTableView accessoryButtonTappedForRowWithIndexPath: indexPath];
}
-(void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath{
NSLog(@"index path: %@", indexPath.row);
}
noch nicht Indexwert – Firdous
bekomme ich meine Antwort aktualisiert haben. Es ist nicht getestet. Ich werde es bald testen (ein paar Minuten), sobald ich in die Mac-Maschine komme. – Ilanchezhian
Ja, es ist getestet und sollte den erwarteten Wert geben. – Ilanchezhian