【问题标题】:Getting a UIView beneath another UIView在另一个 UIView 下获取一个 UIView
【发布时间】:2012-08-24 17:59:06
【问题描述】:

我在同一个superview 中有几个UIViews。顶部的一个视图我希望能够在屏幕上拖动,而它下面的多个UIViews 在经过它们时会做出反应(底部的视图不重叠)。现在,我有可拖动视图使用委托协议向我的UIViewController 发送触摸事件,这是我想做所有逻辑的地方。

基本上,我希望能够找出我的可拖动视图当前在视图控制器中的哪个视图。有什么简单的方法可以做到这一点?

【问题讨论】:

    标签: ios cocoa-touch uiview


    【解决方案1】:

    您可以通过遍历 self.view 的子视图数组(或您的主视图)来获取所有视图的框架。然后,您可以进行测试以查看特定点是否在其中一个视图中,或者是否存在拖动视图的当前帧与任何其他帧的交集。

    有一个方便的方法可以让你做到这一点:CGRectIntersectsRect(r1, r2)。

    【讨论】:

      【解决方案2】:

      您需要获取视图的框架并查看它们是否相交。这里有一个与示例代码类似的问题Detecting if UIView is intersecting other UIViews

      【讨论】:

        猜你喜欢
        • 2012-11-04
        • 1970-01-01
        • 2017-12-14
        • 2017-10-06
        • 2019-04-14
        • 2010-12-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多