I’m building a custom slot machine with a column that exists of a uitableview.
When the user pulls a lever the tableview should scroll to a certain position with an index.
I used the method:
- scrollToRowAtIndexPath:atScrollPosition:animated:
But this method will make the table scroll with a constant duration. So you will not really recognize a long or short spin.
I’m looking for a way to:
A) Slow down the scroll animation. Or,
B) Change the duration for the scroll animation to a self defined value.
The normal scroll animation (with the finger) does show this effect.
Maybe it is a stupid idea, but is it an idea to invoke a touchesBegan and touchesDidEnd method on my tableView?
Thanks already
Because a UITableView inherits from UIScrollView you might also use setContentOffset:animated:
This way you can make your tableview “scroll” a certain amount of pixels of your choosing to any side you like.
This can be done the same with the scrollToRowAtIndexPath:atScrollPosition:animated:
I made a prototype just to show you how it works.
Because this is done with timers and stuff you can set how long the autoScroll will last and how fast (and how far if you’re using the contentoffset) the animation will go.
This is the .h file:
This is the .m file:
If you have any question feel free to leave a comment and I will elaborate.