Непонимание CGRect в Swift

Недавно начал изучение swift. Мне нужно сделать сделать слайдер фотографий.

При нажатии кнопки направо - из границ правой стороны экрана вылетает картинка в центр(тут все ок).

Проблема с левой стороной:

  • при нажатии на левую кнопку картинка должна из центра уходить за левую сторону экрана. Перебрал куча вариантов, но должного результата к сожалению не добился. Помогите разобраться.

class ViewController: UIViewController {

@IBOutlet weak var imageView: UIImageView!


var imageArray = ["image1", "image2", "image3", "image4", "image5"]
var currentIndex = 0

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}

@IBAction func leftImageViewButtonPressed(_ sender: UIButton) {
let calculatingIndex = self.imageArray.count - 1
if self.currentIndex == 0 {
self.currentIndex = calculatingIndex
} else {
self.currentIndex -= 1
}
UIView.animate(withDuration: 0.3) {
self.imageView.image = UIImage(named: self.imageArray[self.currentIndex])
self.imageView.frame = CGRect(x: -self.view.frame.width, y: self.imageView.frame.origin.y, width: self.imageView.frame.width, height: self.imageView.frame.height)

}
}

@IBAction func rightImageViewButtonPressed(_ sender: UIButton) {
let calculatingIndex = self.imageArray.count - 1
if self.currentIndex == calculatingIndex {
self.currentIndex = 0
} else {
self.currentIndex += 1
}
UIView.animate(withDuration: 0.3) {
self.imageView.image = UIImage(named: self.imageArray[self.currentIndex])
self.imageView.frame = CGRect(x: -self.imageView.frame.width, y: self.imageView.frame.origin.y, width: self.imageView.frame.width, height: self.imageView.frame.height)

}
}
}

Сама imageView привязана по бокам констрейнами и отцентрована по вертикали

введите сюда описание изображения


Ответы (0 шт):