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

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

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


我放了

NSLog(@"Received touch");


在if语句之前,但从未被调用。在此TableViewController中触摸任何东西时,touchesBegan:withEvent:永远不会被调用吗?

如何在UITableViewCell中简单点击以调用方法triggerActionSheetConfirmation?

最佳答案

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

关于iphone - 为什么我的UITableView无法识别UITableViewCell内部的触摸?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9813417/

10-10 20:33