我的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方法?
答案 0 :(得分:2)
为UITableViewCell添加手势识别器,并将目标设置为SettingsViewController。
答案 1 :(得分:1)
使用UITableViewDelegate
方法tableView:didDeselectRowAtIndexPath:
。在该方法中,通过UITableView
方法cellForRowAtIndexPath
获取行的单元格。然后使用if
语句将单元格与您创建的UITableView
出口属性进行比较。然后运行您的方法,如果它评估到该出口。