为什么我的UITableView不能识别UITableViewCell中的Touch?

时间:2012-03-21 21:52:07

标签: iphone objective-c ios uitableview

我的UITableViewController的类名为SettingsViewController。它包含一个链接到名为signOutCell的UITableViewCell的属性。

为什么这不能识别用户是否触摸过signOutCell?它在SettingsViewController.m里面?

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    if ([touches containsObject:signOutCell])
    {        
        [self triggerActionSheetConfirmation];
    }
}

我放了

NSLog(@"Received touch"); 
在if语句之前

,但它从未被调用过。 touchesBegan:withEvent:在这个TableViewController中触及任何东西时永远不会被调用?

如何在UITableViewCell中轻松点击以调用triggerActionSheetConfirmation方法?

2 个答案:

答案 0 :(得分:2)

为UITableViewCell添加手势识别器,并将目标设置为SettingsViewController。

答案 1 :(得分:1)

使用UITableViewDelegate方法tableView:didDeselectRowAtIndexPath:。在该方法中,通过UITableView方法cellForRowAtIndexPath获取行的单元格。然后使用if语句将单元格与您创建的UITableView出口属性进行比较。然后运行您的方法,如果它评估到该出口。