Прокрутка Просмотр содержимого Смещение не работает при повороте в альбомный режим - PullRequest
0 голосов
/ 03 августа 2020

У меня есть вид прокрутки, в котором есть три изображения по горизонтали с включенной разбивкой по страницам. В портретном режиме вид прокрутки работает идеально, как и ожидалось. Но при повороте в альбомный режим он сначала застревает примерно на половине точки двух изображений, а затем, когда я начинаю прокручивать, он работает нормально. Я попытался начать со среднего изображения при повороте в альбомную ориентацию и поэтому использовал приведенный ниже код. Но contentOffset не работает. Что я здесь делаю не так? Будем признательны за ваши мысли. Спасибо.

func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
        
        print("scrollViewDidEndDecelerating: \(scrollView.contentOffset)")
        if scrollView == imageScrollView {

            if scrollView.contentOffset.x > scrollView.frame.width {
                
                centerImageNumber = centerImageNumber == mainImageArray.count - 1 ? 0 : centerImageNumber + 1
            }
            
            if scrollView.contentOffset.x < scrollView.frame.width {
            
                centerImageNumber = centerImageNumber == 0 ? mainImageArray.count - 1 : centerImageNumber - 1
            }
            
            
            updateScrollViewImages(centerImageNumber: centerImageNumber)
            
            scrollView.setContentOffset(CGPoint(x: imageScrollView.frame.width, y: 0), animated: false)
            
            pageControl.currentPage = centerImageNumber
        
        }
    }
    
    override func willTransition(to newCollection: UITraitCollection, with coordinator: UIViewControllerTransitionCoordinator) {
        
        let frame: CGRect = imageScrollView.frame
        imageScrollView.scrollRectToVisible(frame, animated: false)
        imageScrollView.contentOffset.x = imageScrollView.frame.width
        
    }
...