我试图在用户触摸屏幕时在Swift 4中复制图像
var positionArray = Array(repeating: Array(repeating: 0, count: 2), count: 50)
var counter = 0
var pointNum = 0
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
if let touch = touches.first {
let position = touch.location(in: self.view)
let locx = Int(position.x)
let locy = Int(position.y)
positionArray[counter] = [locx, locy]
print(positionArray[counter])
counter = counter + 1
point.center = position
pointNum = pointNum + 1
}
}
您可以看到这是我用来注册触摸的内容,但是只有一个图像(点)移动到用户触摸的位置。
答案 0 :(得分:0)
您的代码将点保存到点数组中,然后移动point
的中心。 point
是图像视图吗?
如果要在用户点击的所有位置创建图像的新副本,则需要创建图像的新副本。像这样:
let bounds = point.bounds
let newImageView = UIImageView(frame: bounds)
newImageView.translatesAutoresizingMaskIntoConstraints = true
newImageView.image = UIImage(named: "MyImageViewName")
self.view.addSubView(newImageView)
newImageView.center = position
请注意,最好添加自动布局锚点,以将新图像视图的中心锚定到超级视图的原点,但是上面的代码应该起作用。 (我认为。我很少使用newImageView.translatesAutoresizingMaskIntoConstraints = true
。)