Я программно добавил изображения в imageViews к родительскому scrollView в цикле for для 5 объектов в массиве. Каждому imageView был предоставлен TapGestureRecognizer, поэтому я могу нажать на них, и они вызовут функцию.
Я хочу, чтобы функция setContentOffset в scrollView указывала на местоположение в центре значений x отображаемого изображения. Я не уверен, как вытащить CGPoint из обработанного изображения. Любая помощь будет большой. Вот то, что я до сих пор:setContentOffset to UIImage loaction в scrollView
override func viewDidLoad() {
super.viewDidLoad()
/*for (index, element) in list.enumerated()*/
for (index, element) in cardsInHand.enumerated() {
let img = UIImage(named: "\(element)")
let imgView = UIImageView(image: img)
imgView.isUserInteractionEnabled = true
handScrollView.addSubview(imgView)
//add tap gesture recognizer
let tapRec = UITapGestureRecognizer(target: self, action: #selector(self.cardTapped))
imgView .addGestureRecognizer(tapRec)
imgView.frame = CGRect(x: 5 + (5 + WIDTH) * CGFloat(index), y: 5, width: WIDTH, height: HEIGHT)
}
//test at card tapped function
func cardTapped(){
handScrollView.setContentOffset(CGPoint(x: WIDTH, y: 0), animated: true)
}
До сих пор она просто устанавливает смещение на Scrollview к WIDTH (который 110) независимо от того, который повернутой карты, потому что я не знаю, как ссылаться на imgView постучал.
Спасибо! Работает как шарм. – Bezz
@Bezz Добро пожаловать! –