触摸复制图像

时间:2018-11-06 01:26:27

标签: swift xcode uiimageview touchesbegan

我试图在用户触摸屏幕时在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
    }
}

您可以看到这是我用来注册触摸的内容,但是只有一个图像(点)移动到用户触摸的位置。

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。)

相关问题