У меня есть изображения внутри ячейки uicollectionview, которые прокручиваются по горизонтали, я хочу получить такую функцию, как Facebook и приложение для фотографий Apple, вы нажимаете на изображение, и оно покрывает весь экран. Вы можете сжимать и панорамировать изображение, я хочу добавить некоторые ограничения, такие же как приложение для Facebook и фото, например, когда вы сжимаете изображение, вы можете максимально панорамировать его ширину.
Я хочу, чтобы изображение снова обновлялось, если пользователь пытается переместить изображение за границы. Я добавляю несколько скриншотов, чтобы дать представление об этом.
Сейчас я использую простой код.
guard gestureRecognizer.view != nil else {return}
print(self.imgView.frame)
if self.imgView.frame.size.width < (self.imgOrignal.width+100) {
return
}
let piece = gestureRecognizer.view!
// Get the changes in the X and Y directions relative to
// the superview's coordinate space.
let translation = gestureRecognizer.translation(in: piece.superview)
if gestureRecognizer.state == .began {
self.initialCenter = piece.center
}
// Update the position for the .began, .changed, and .ended states
if gestureRecognizer.state != .cancelled {
// Add the X and Y translation to the view's original position.
let newCenter = CGPoint(x: initialCenter.x + translation.x, y: initialCenter.y + translation.y)
piece.center = newCenter
}
else {
// On cancellation, return the piece to its original location.
piece.center = initialCenter
}
}