Двойное изображение с сенсорным - PullRequest
0 голосов
/ 06 ноября 2018

Я пытаюсь продублировать изображение в 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 голосов
/ 06 ноября 2018

Ваш код сохраняет ваши точки в массив точек, а затем перемещает центр чего-то, называемого 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.)

...