Search code examples
animationcollectionviewios15iphone12

iOS15 / iPhone12 setContentOffset animate Issue


It occurs on iOS15/iPhone12 series of devices.

Multiple CollectionViews are paged with each timer, but paging does not work normally only on iOS15/iPhone12 devices.

The paging is stuttering and the animation is not working normally.

I tried implementing a timer using Rx, but the symptoms are the same.

It operates normally on other devices, other iOS versions.

Has anyone experienced the same issue as me?

// CollectionView has the following timer code and performs timer operation independently.
// each CollectionView's paging interval is 1.0 seconds 1.3 seconds and 1.6 seconds.

func startTimer(interval: CGFloat) {
    let timer1 = Timer.scheduledTimer(timeInterval: interval,
                                      target: self,
                                      selector: #selector(rolling1),
                                      userInfo: nil,
                                      repeats: true)
  }
  
  @objc func rolling1() {
    DispatchQueue.main.async {
      self.offset1 = CGPoint.init(x: self.offset1.x + UIScreen.main.bounds.width, y: self.offset1.y)
      self.collectionView?.setContentOffset(self.offset1, animated: true)
    }
  }

The motion screen is as follows.

It works normally on all iOS 14 devices.

It also works normally on iOS15 devices except iPhone 12 series.

There is only a problem with iPhone 12 series on iOS15.


Solution

  • It is fixed in iOS 15.1 Thank for Apple..