bufferapp / BFRReorderTableView

The BFRTableReorder is an out of the box solution to add long press reordering to your ASDK apps
MIT License
57 stars 4 forks source link
asdk ios objective-c

BFRTableReorder

Demo

Summary

The BFRTableReorder is an out of the box solution to add long press reordering to your ASDK apps πŸŽ‰! It started off as an Objective-C port of the excellent Swift Reorder by Adam Shin, but we ended up hacking it apart for ASDK purposes.

We use it all over the place in Buffer for iOS :-).

Installation

The BFRTableReorder is hosted on CocoaPods and is the recommended way to install it:

pod 'BFRTableReorder'

Quickstart

To kick things off, you need to include one header file anywhere you want some reordering action to happen 😊:

#import "ASTableNode+BFRReorder.h"

This will add the reorder property to any table node instance via a category. To get up and running quickly with BFRTableReorder, just set your controller as the delegate off of any ASTableNode's reorder property:

self.tableNode.reorder.delegate = self;

From there, you're only required to implement one delegate method, but there are several optional ones that can help out as well:

- (void)tableNode:(ASTableNode *)tableNode redorderRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath;

There is a very simple example in the demo project, feel free to fire it up if you want to see all the delegate methods in action πŸ’―.

Going Forward

We regularly maintain this code, and you can also rest assured that it's been battle tested against thousands of users in production πŸ‘. That said, we get things wrong from time to time - so feel free to open an issue for anything you spot!

We are always happy to talk shop, so feel free to give us a shout on Twitter:

Or, hey - why not work on the BFRTableReorder and get paid for it!? We're hiring!


Licence

This project uses MIT License.