【问题标题】:Add Small Circle/Dot Wherever User Taps Inside of UIView (Swift)在 UIView (Swift) 内用户点击的任何地方添加小圆圈/点
【发布时间】:2016-01-23 23:52:04
【问题描述】:

我试图弄清楚如何在 UIView 上添加一个小圆圈/点,但只有当用户点击 UIView 内部时。点应放置在用户点击的任何位置。不幸的是,我不知道该怎么做。

任何带有代码的示例都非常有帮助!我正在使用 Swift。

【问题讨论】:

    标签: xcode swift uiview drawing touchesbegan


    【解决方案1】:

    在您的 View Controller 中,您应该首先实现 touchesBegan 方法,该方法为您提供了一个可以使用的 UITouch 对象数组。然后每个UITouch 对象都有locationInView 属性,它为您提供CGPoint 触摸位置。您可以将这些位置保存在一个数组中(您的 VC 的属性)。或者您可以立即在此方法中初始化您的 dot 对象。

    func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
        for touch in touches{
            let location = (touch as! UITouch).locationInView(self.courtView)
            var dot = UIView(frame: CGRect(location.x, location.y, 10, 10))
            self.courtView.addSubview(dot) //add dot as subview to your main view
            }
        }
    

    你给locationInView 的参数主要取决于你的视图层次,它可能是selfself.contentViewself.view。这同样适用于您将 dot 添加为子视图的位置。

    【讨论】:

    • @AndyLebowitz 如果您觉得有帮助,请标记为已回答
    • 我尝试使用该代码,但没有任何反应。现在对如何让它正常工作有点困惑
    • @AndyLebowitz 你明白那里应该发生什么吗?您应该将这段代码调整为您的视图控制器
    • 当我在顶部使用 NSSet 时,它说该方法不会覆盖其超类中的任何内容
    • @AndyLebowitz 忽略“覆盖”
    猜你喜欢
    • 2013-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 2018-06-02
    • 1970-01-01
    • 2020-06-24
    相关资源
    最近更新 更多