【发布时间】:2017-11-04 17:49:35
【问题描述】:
我的自定义表格视图单元格中有一个复选标记按钮。在我的表格视图中点击该按钮时,我希望删除该行。
现在,如果点击单元格本身,我下面的代码会删除该行,但如果点击单元格内的按钮则不会。我怎样才能做到这一点,如果点击单元格内的按钮,该行将被删除?
ViewController.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (tableView == self.sidetableView) {
NSMutableDictionary *nodeData = [[self.myFriendData objectAtIndex:indexPath.row] mutableCopy];
NSString *nid = [nodeData objectForKey:@"nid"];
[nodeData setObject:nid forKey:@"nid"];
[self.myFriendData removeObjectAtIndex:indexPath.row];
[DIOSNode nodeDelete:nodeData success:^(AFHTTPRequestOperation *operation, id responseObject) {
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
NSLog(@"node deleted!");
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"could not delete node!");
}];
}
CustomTableViewCell.m
-(void)accepted {
NSString *friendAccepted = @"friendAccepted";
[[NSUserDefaults standardUserDefaults] setObject:friendAccepted forKey:@"friendStatus"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
-(void)alreadyAccepted {
NSString *savedValue = [[NSUserDefaults standardUserDefaults]
stringForKey:@"friendStatus"];
NSString *accepted = savedValue;
if (savedValue == NULL){
} else {
self.acceptFriend.userInteractionEnabled = NO;
[self.acceptFriend setImage:[UIImage imageNamed:@"checkedgreen.png"] forState:UIControlStateNormal];
}
}
- (IBAction)acceptFriend:(id)sender {
[self alreadyAccepted];
[self accepted];
[self.acceptFriend setImage:[UIImage imageNamed:@"checkedgreen.png"] forState:UIControlStateNormal];
}
【问题讨论】:
标签: ios objective-c uitableview