Непонимание 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 привязана по бокам констрейнами и отцентрована по вертикали
