我如何使用Swift 2.0中的Rect获取子视图

时间:2016-01-28 03:34:10

标签: ios swift uiview swift2 cgrect

主视图包含子视图。我需要获得这些子视图。

例如,我创建了一个视图:

enter image description here

使用Swift代码:

import UIKit

class ViewController: UIViewController {


    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func viewDidAppear(animated: Bool) {
        super.viewDidAppear(animated)

        // Check if has view in rect area

        let rect1 = CGRect(x: 0, y: 0, width: 100, height: 100)

        if CGRectContainsPoint(rect1, rect1.origin) { // return true

            print("TRUE")

        } else {

            print("FALSE")

        }
    }
}

我需要了解你的观点"触摸" Rect的大小或原点。

在上面的例子中,我创建了三个不同颜色的子视图。

我需要获取视图并使用backgroundColor制作print()。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

这个功能解决了这个问题:

func intersectingViewWithView(panView: UIView) -> UIView? {
    for view in self.view.subviews {
        if view != panView {
            if CGRectIntersectsRect(panView.frame, view.frame) {
                return view
            }
        }
    }
    return nil
}