UICollectionView iOS 9 issue on project with RTL languages support

It seems like Apple’s new feature of auto-flip interface on RTL languages cause problems when using UICollectionView.

I used constraints of type Trailing/Leading for the collection view and they switched their values, as they should, on RTL language.

  • Cocoa: Command /usr/bin/ditto failed with exit code 1
  • Swift: Enums that use closures?
  • How can i add a 2dView having text in ARkit scene iOS
  • Returning a variable value outside a block - Objective-C, iOS
  • How to add an .sks files to existing Swift/Sprite-Kit project?
  • RSA Encryption using public key
  • The problem is that the data actually presented is of the last indexPath in the collection’s data source but the UIScrollView.contentOffset.x of the first cell is 0.

    A proper behaviour would have been one of the following:

    1. Displaying the first indexPath correctly and switching the direction of the scroll (to the right) – Best option
    2. Not flipping the UI/Constraints so the presented-data / indexPath / scrollView.contentOffset.x will be synchronised – Option that disabling the RTL support.
    3. Presenting cell and data of the last indexPath but fixing the scrollView.contentOffset.x to represent the last cell position also.

    I guess Apple might fix it sometime in the future but meanwhile we’ll have to use workarounds like reversing array and/or scrolling to the last object.