无法获得该行为 - 必须通过点击UITableView编辑模式中的默认复选框来选择行,并允许多个选择。 当点击其他地方的行时 - 行未被选中,但另一个细节屏幕将打开。
WORKOROUND(Xamarin C#):
// MyTableCell : UITableViewCell
public bool IsCheckBoxTapped;
public override void TouchesBegan(NSSet touches, UIEvent evt)
{
var touch = touches.FirstOrDefault() as UITouch;
var point = touch?.LocationInView(this) ?? new CGPoint();
var r = CGRect.FromLTRB(0, 0, 60, Frame.Height);
IsCheckBoxTapped = r.Contains(point);
base.TouchesBegan(touches, evt);
}
答案 0 :(得分:0)
我的建议是你在自定义单元格类中覆盖touches begin方法,使得如果用户触摸包含复选框的区域中的单元格,它将执行与触及该区域的区域不同的操作。不要按住复选框。类似于我下面的内容可能有用。
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
var point:CGPoint = CGPoint()
if let touch = touches.first {
point = touch.locationInView(self)
}
if(checkBox.frame.contains(point)) {
super.touchesBegan(touches, withEvent: event)
//or however you would like to select the row
}
else {
//present your details screen
}
}