Important facts about commercial licenses

  • Licenses are perpetual. They do not expire and do not need to be renewed.
  • Licenses can be upgraded. You can upgrade to a more expensive license later paying only the difference in cost.
  • Pay attention to the distribution type - Hosted (sites / servers), binary (applications) or source (includes all the others). Choose according to your needs (more below).
  • All licenses allow commercial use unless otherwise indicated.
  • Read the full license by clicking on the icon.
  • Read more about licenses in our handy license guide.
Free

BSD license

The BSD license is an
open-source license.
$14

BSD license

The BSD license is an
open-source license.
You need to log-in or create an account
  • Create an account
  • Log-in
  • Please use your real name.
  • Account activation link will be sent to this address.
  • Minimum 8 characters

Clicking this button confirms you read and agreed to the terms of use and privacy policy.

(2 ratings)

Row Drag UITableView for iOS

Row Drag UITableView for iOS
Developed by Florian Mielke, Released May 8, 2012

An iOS UITableView subclass that allows you to move rows without being in edit mode simply by tapping and holding the appropriate row.

Objective-C

Tags: moving , uitableview , uitableviewcell

FMMoveTable

FMMoveTable is an UITableView subclass that provides moving rows by simply tap and hold an appropriate row without switching the table to it's edit mode.

Donations

I wrote FMMoveTable for use in one of my own apps and think that it could be quite useful (and very time-saving) for others.

If you find it helpful and want to support me please choose the BDS-license with the payed option.

How to use

  1. Import the QuartzCore framework.
  2. Add FMMoveTableView.(h/m) and FMMoveTableViewCell.(h/m) to your project
  3. Change you UITableView subclass to be a subclass of FMMoveTableView
  4. Change your UITableViewCell subclass to be a subclass of FMMoveTableViewCell
  5. Update your UI(Table)ViewController to conform to FMMoveTableViewDataSource and (optional) FMMoveTableViewDelegate
  6. Implement at least the delegate method moveTableView:moveRowFromIndexPath:toIndexPath: to update your model after a move
  7. Implement some additional checked in your table view data source / delegate. Check the FMMoveViewController for further details

Background

FMMoveTableView

Addopts the known UITableViewDataSource and UITableViewDelegate methods to check whether a row:

  • Will move: moveTableView:willMoveRowAtIndexPath:
  • Can be moved: moveTableView:canMoveRowAtIndexPath:
  • Can move to an index path: moveTableView:targetIndexPathForMoveFromRowAtIndexPath:toProposedIndexPath:
  • Did move: moveTableView:moveRowFromIndexPath:toIndexPath:

FMMoveTableViewCell

Uses a method prepareForMove that you may need to overwrite if you use a custom subclass.

In it's basic implementation it resets the textLabel, detailTextLabel and imageView.

Contact

I can't answer any questions about how to use the code, but I'd love to read any emails telling me that you're using it, creating an app with it, or just saying thanks. Or use the comments to let me know what you think about it.

Web: http://blog.madeFM.com Twitter: http://twitter.com/FlorianMielke

View all 2 reviews »

User Reviews

  • Kai Miller 11 months ago
    Very nice. I am an iOS beginner and I had no problems integrating this plugin. Worked well and support was very fast.
    Flag
    Was this helpful? Yes No
  • 1 of 1 people found this review helpful Ravi 11 months ago
    It is cool , It will improve quality and user Experience of App ..
    Flag
    Was this helpful? Yes No
Read all 5 comments »

Questions & Comments


Or enter your name and Email
  • Sungjin Han 7 months ago
    Thanks for this nice work!
    It saved me a lot of hours and days.
  • Kai Miller 1 year ago
    I fetched the repo and ran your program. It works well except one small detail - when you drag a cell up or down far enough to make the screen scroll it sometimes - quite often actually - duplicates one of the cells that was initially off screen. It's easy to not notice this, but in my app you can delete rows and the first thought our test base had when they saw the duplicates was to delete one of the duplicate items. Since there is no real duplicate, it deleted the real item.
  • Willian da Silva Rodrigues 1 year ago
    This component can have many uses and many applications become easier to use if this component is added to them.
You must be logged-in to vote. Log-in to your account or register now.