pavankataria/SwiftDataTables

refreshControl

altagir opened this issue · 5 comments

I implemented a refreshControl on the scrollView containing the DataTable, but it fails sometimes
I see you have started implementation for that, can it be completed?

What's happening on your side that's causing it to fail sometimes? Hah there's a couple of things I've started implementing but then paused since the main priorities needed to be fixed first.

I think the other issue is my highest priority at the moment. To make scrolling more efficient for 10,000 plus items.

there is a difference between ios10+ and ios9:

  • when using ios10+ and calling
        if #available(iOS 10.0, *) {
            dataTable.collectionView.refreshControl = refreshControl
        }

The pull to refresh appears between the header view and the datatable itself. i.e. only the collectionView respond to pulling, not the header and search

-> I wish there was some possibility to be able to avoid the collectionView bouncing (it is currently allowed on top and bottom, but not configurable)

  • With my first approach, i.e. embed your control in a scrollView, I am able to pull the whole view (search+header+data)
scrollView.addSubview(refreshControl)

But works fine in emulator, but somehow fails on real device (only the collectionView moves, not the header / search) so collectionView is maybe overriding the refreshControl gesture...

Yeah, they've been programmed not to move. They're hardcoded to stay fixed. I'll have to think what I want to achieve with refresh control added.... perhaps the headers should move with it too....

i agree.
let s say if one has a delegate callback to refresh data, your behavior could be overridden to have the whole view act as a pulldown. should also have a completion block to notify async of refresh completion

i also dont see the interest ot a bouncing dataview. right now the pull to refresh overlap the search and header fields, which is weird. i would rather have the whole view bounce or not.

regards

will implement in my fork