我试图弄清楚如何在UIView上添加一个小圆圈/点,但只有当用户点击UIView内部时。点应放置在用户点击的任何位置。不幸的是,我不知道该怎么做。
任何带有代码的示例都非常有用!我正在使用 Swift。
在视图控制器中,您应该首先实现touchesBegan
方法,该方法为您提供了一个可以使用的UITouch
对象数组。然后,每个UITouch
对象都有locationInView
属性,该属性为您提供触摸的CGPoint
位置。可以将这些位置保存在数组(VC 的属性)中。或者,您可以在此方法中立即初始化点对象。
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
的参数主要取决于你的视图层次结构,可能是self
、self.contentView
或self.view
。这同样适用于将点添加为子视图的位置。