nicklockwood / iCarousel

A simple, highly customisable, data-driven 3D carousel for iOS and Mac OS
http://www.charcoaldesign.co.uk/source/cocoa#icarousel
Other
12k stars 2.58k forks source link

Performance issue using UISplitViewController (iPad) and Table #359

Open IdoRabin opened 11 years ago

IdoRabin commented 11 years ago

I am currently using a master-detail iPad U: inside a UISplitViewController I have the left (master) side contain a UITableViewController, and the right (detail) side, a UIVIewController inheritor containing an iCarousel. See attached image.

Problem: When scrolling the table view WHILE the carousel is still animating The table view scrolls and decelerates smoothly, and the iCarousel scrolls in a sluggish (that is, barely animating at all) fashion.

Points for consideration:

  1. Tested on iPad 1 (non-retina), iPad 4G (retina), and in simulator retina and non retina, same results in all platforms.
  2. Does not matter whether you first drag the carousel and then the table or in the other order, the table view always takes "precedence", and iCarousel's smooth animation performance seems to go *^&k!. scroll_ipad_issue
nicklockwood commented 11 years ago

Unfortunately this is a known issue with no known solution.

When it comes to animation, you can either take priority over scrolling, or let scrolling take priority. If you modify the iCarousel NSTimer setUp code to use NSRunloopCommonModes then iCarousel won't be affected by scrolling in another view, however the scrolling will pause whenever iCarousel is moving.

nicklockwood commented 11 years ago

One not-especially nice option would be to replace the UITableView with a vertical iCarousel in linear mode. The two carousels shouldn't conflict with each other (although the iCarousel-based table view's scrolling may seem a bit "off").

IdoRabin commented 11 years ago

Dear Sir Thx for the rapid responce.

I love iCarousel, and want to say thx for putting it out there for the public. i have used the proposed

NSRunloopCommonModes

Solution, and it works perfect for me, Thx again.

Sent from my iPhone

On 19 במאי 2013, at 18:52, Nick Lockwood notifications@github.com wrote:

Unfortunately this is a known issue with no known solution.

When it comes to animation, you can either take priority over scrolling, or let scrolling take priority. If you modify the iCarousel NSTimer setUp code to use NSRunloopCommonModes then iCarousel won't be affected by scrolling in another view, however the scrolling will pause whenever iCarousel is moving.

— Reply to this email directly or view it on GitHub.