{"id":18974659,"url":"https://github.com/pujiaxin33/jxmovablecelltableview","last_synced_at":"2025-05-05T22:37:00.781Z","repository":{"id":56916714,"uuid":"51825504","full_name":"pujiaxin33/JXMovableCellTableView","owner":"pujiaxin33","description":"The custom tableView which can start moving the cell with a long press gesture.","archived":false,"fork":false,"pushed_at":"2020-10-21T05:55:59.000Z","size":3594,"stargazers_count":191,"open_issues_count":2,"forks_count":37,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-13T03:52:43.941Z","etag":null,"topics":["move","objective-c","tableviewcell"],"latest_commit_sha":null,"homepage":"","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pujiaxin33.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-02-16T09:55:50.000Z","updated_at":"2025-03-22T20:50:41.000Z","dependencies_parsed_at":"2022-08-21T03:50:32.234Z","dependency_job_id":null,"html_url":"https://github.com/pujiaxin33/JXMovableCellTableView","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pujiaxin33%2FJXMovableCellTableView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pujiaxin33%2FJXMovableCellTableView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pujiaxin33%2FJXMovableCellTableView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pujiaxin33%2FJXMovableCellTableView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pujiaxin33","download_url":"https://codeload.github.com/pujiaxin33/JXMovableCellTableView/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252588036,"owners_count":21772595,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["move","objective-c","tableviewcell"],"created_at":"2024-11-08T15:15:42.934Z","updated_at":"2025-05-05T22:37:00.742Z","avatar_url":"https://github.com/pujiaxin33.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Overview\n\nThe custom tableView which can start moving the cell with a long press gesture.\nThe JXMovableCellTableView which added a `UILongPressGestureRecognizer`. when gesture started take a snapshot for cell which pressed.Then you can customize movable cell and start move animation.\n\n\n[中文介绍](https://www.jianshu.com/p/ce382f9bc794)\n\n# Check it out!\n\n- **Edge scroll**\n\n![EdgeScroll](https://github.com/pujiaxin33/JXMovableCellTableView/blob/master/JXMovableCellTableView/Gifs/EdgeScroll.gif)\n\n- **Neon light**\n\n![Neonlight](https://github.com/pujiaxin33/JXMovableCellTableView/blob/master/JXMovableCellTableView/Gifs/NeonLight.gif)\n\n- **Breath**\n\n![Breath](https://github.com/pujiaxin33/JXMovableCellTableView/blob/master/JXMovableCellTableView/Gifs/Breath.gif)\n\n\n# Features\n- Just need a long press gesture can start moving cell. Don't need call system api `[tableView setEditing:YES animated:YES];`.\n- Highly customizing the cell style being moved.\n- Highly customizing start move cell animation.\n- Support to move to the edge of the screen to scroll the tableview.\n\n# Usage\n \n- **`canEdgeScroll`**\n\n  Whether to allow dragging to the edge of the screen, turn on edge scrolling.default YES.\n\n- **`edgeScrollRange`**\n\n  The edge scrolls the trigger range, and the closer to the edge, the faster the speed. The default is 150.\n  \n- **`JXMovableCellTableViewDelegate`**\n  \n```\n  /**\n *  The cell that will start moving the indexPath location\n */\n- (void)tableView:(JXMovableCellTableView *)tableView willMoveCellAtIndexPath:(NSIndexPath *)indexPath;\n/**\n *  Move cell `fromIndexPath` to `toIndexPath` completed\n */\n- (void)tableView:(JXMovableCellTableView *)tableView didMoveCellFromIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath;\n/**\n *  Move cell ended\n */\n- (void)tableView:(JXMovableCellTableView *)tableView endMoveCellAtIndexPath:(NSIndexPath *)indexPath;\n\n/**\n *  The user tries to move a cell that is not allowed to move. You can make some prompts to inform the user.\n */\n- (void)tableView:(JXMovableCellTableView *)tableView tryMoveUnmovableCellAtIndexPath:(NSIndexPath *)indexPath;\n\n/**\n *  Customize the screenshot style of the movable cell\n */\n- (void)tableView:(JXMovableCellTableView *)tableView customizeMovalbeCell:(UIImageView *)movableCellsnapshot;\n\n/**\n *  Custom start moving cell animation\n */\n- (void)tableView:(JXMovableCellTableView *)tableView customizeStartMovingAnimation:(UIImageView *)movableCellsnapshot fingerPoint:(CGPoint)fingerPoint;\n```\n\n- **`JXMovableCellTableViewDataSource`**\n\n```\n/**\n *  Get the data source array of the tableView, each time you start the call to get the latest data source.\n *  The array in the data source must be a mutable array, otherwise it cannot be exchanged\n *  The format of the data source:@[@[sectionOneArray].mutableCopy, @[sectionTwoArray].mutableCopy, ....].mutableCopy\n *  Even if there is only one section, the outermost layer needs to be wrapped in an array, such as:@[@[sectionOneArray].mutableCopy].mutableCopy\n */\n- (NSMutableArray *)dataSourceArrayInTableView:(JXMovableCellTableView *)tableView;\n```\n\n# Installation\n\n## Manual\n\nDownload git reposity, decompress zip, drag JXMovableCellTableView.h\u0026.m into your project.\n\n## CocoaPods\n\n```ruby\ntarget '\u003cYour Target Name\u003e' do\n    pod 'JXMovableCellTableView'\nend\n```\nYou should run `pod repo udpate` before `pod install`\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpujiaxin33%2Fjxmovablecelltableview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpujiaxin33%2Fjxmovablecelltableview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpujiaxin33%2Fjxmovablecelltableview/lists"}