You can clone with
Assume there are 100 books
Vertical: 3 books a row, 34 rows total
Landscape: 4 books a row, 25 rows total
Build and run the app in the simulator, turn on slow-motion animation.
When in vertical mode, scroll to the bottom, then rotate to landscape mode, during the slow animation, you won't see any shelf, just the background, when the rotate animation end, the view will scroll quickly from row 34 to row 25. This is not the visual effect we want.
Before the rotate animation, jump to row 25 without animation, then the visual effect will be better.
No matter where I try to set the contentOffset without animation and/or disable UIView animation, it will still animate during the rotation.
Part 2 (This has been fixed)
Do the same thing in part 1, and then rotate back to vertical, you will see in the bottom shelf, the the right side board of the shelf behave differently as other shelfs
The reused shelf used to be a vertical shelf, so the side board's position will not change from the landscape mode to the vertical mode.
Tried to reset the frame of all reused shelf and relayout, but still behave like before.
Fix issue #12 part 2