В Swift 3, для того чтобы сделать UIImageView
динамичным, можно использовать UIPanGestureRecognizer
, чтобы пользователь мог перемещать изображение по экрану.
Вот пример кода:
import UIKit class ViewController: UIViewController { var imageView: UIImageView! override func viewDidLoad() { super.viewDidLoad() // Создаем UIImageView с изображением let image = UIImage(named: "image") imageView = UIImageView(image: image) imageView.frame = CGRect(x: 0, y: 0, width: 200, height: 200) imageView.isUserInteractionEnabled = true // Включаем пользовательское взаимодействие // Добавляем жест перемещения let panGesture = UIPanGestureRecognizer(target: self, action: #selector(handlePan(_:))) imageView.addGestureRecognizer(panGesture) // Добавляем UIImageView во view view.addSubview(imageView) } @objc func handlePan(_ gesture: UIPanGestureRecognizer) { guard let imageView = gesture.view as? UIImageView else { return } if gesture.state == .began || gesture.state == .changed { let translation = gesture.translation(in: imageView.superview) imageView.center = CGPoint(x: imageView.center.x + translation.x, y: imageView.center.y + translation.y) gesture.setTranslation(CGPoint.zero, in: imageView.superview) } } }
В этом примере мы создаем UIImageView
, добавляем изображение и настраиваем его размер и начальное положение. Затем мы включаем пользовательское взаимодействие для UIImageView
и добавляем жест передвижения с помощью UIPanGestureRecognizer
.
Функция handlePan(_:)
вызывается при начале или изменении жеста перемещения. В этой функции мы перемещаем UIImageView
в соответствии с перемещением пальца пользователя.
Это всего лишь пример, и вы можете вносить изменения в размеры, положение и поведение UIImageView
в соответствии с вашими потребностями.