我有一个iOS应用程序,它有以下流程:
带有UITableView ->的UITabView -> TabView选择一行-> UITabView (全屏模式)带有UIViewController和UITableView的-> UITabView
UIViewController中的UITableView行不允许我一次点击选择它们。如果A)两指轻敲或B)长按(3D Force Touch?),我可以选择它们。在这一排。然后,该行触发didSelectRowAt。否则什么都不会发生。
我试过在UITableView上设置这些
self.catalogItemsTableView.allowsSelection = true
self.catalogItemsTableView.selectionFollowsFocus = true
self.catalogItemsTableView.allowsSelectionDuringEditing = true但他们并没有改变任何事情。这是视图的样子。是不是因为UITableView在全屏模式的内部?我正在用下面的代码加载'Modal‘视图:
let orderEntryViewController = OrderEntryViewController(order: order, parentVC: self.parentVC!)
orderEntryViewController.order = order
orderEntryViewController.modalPresentationStyle = .fullScreen
self.parentVC!.present(orderEntryViewController, animated: true, completion: nil)

发布于 2021-05-05 10:27:01
我在使用表格视图点击的视图中有这个。我把它放在适当的位置是为了取消键盘
let tap = UITapGestureRecognizer(target: self, action: #selector(UIInputViewController.dismissKeyboard))
view.addGestureRecognizer(tap)删除此选项可使UITableView分路器再次正常工作。
发布于 2021-05-05 14:24:57
您还可以实现手势识别器委托,然后检查触摸是否在表视图上。
func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool {
if touch.view?.isDescendantOfView(self.catalogItemsTableView) == true {
return false
}
return true
}https://stackoverflow.com/questions/67394303
复制相似问题