【发布时间】:2020-09-12 20:28:52
【问题描述】:
这是一个比较简单的问题。我有一个 tableViewController 在用户按下按钮后出现,但它没有覆盖整个屏幕,使之前的一些视图控制器可见。当 touchLocation.x 属性(触摸的 CGPoint 位置的 x 坐标)超过某个点时,我试图使用 touchesEnded 关闭 tableViewController。问题是,当触摸超过 x 点(在 tableViewController 之外)时,touchesEnded 实际上并没有收到任何东西或被调用,因为它在视图之外,所以我的解除函数不会被调用。有谁知道如何检测当前视图之外的触摸,以便当前视图之外的任何触摸都会消除所述当前视图?谢谢
【问题讨论】:
-
用一个背景颜色清晰的视图覆盖整个屏幕,所以那里有东西可以接收触摸。
-
问题是,我在过渡中使用了自定义幻灯片,我将 vc 的宽度设置为正常宽度的 0.7,所以我添加到 tableViewController 中的任何清晰视图也不会成为一部分那个 0.7 的宽度?此外,当您向 tableview 添加视图时,它会使其成为一种单元格
-
我不明白这有多重要。 table view 可以是正常宽度的 0.7,而它周围仍然有一个不可见的 view 来接收触摸。
-
如何将 tableViewController 中的 tableview 设置为仅占整个视图的 0.7?
-
您需要它成为另一个视图控制器的子级。要么使用普通视图控制器,要么使用普通视图控制器,而不是表视图控制器。
标签: ios swift xcode uitableview uitouch