转载

[iOS] SwipeCellKit:UITableViewCell 内各种滑动变化及动画效果

SwipeCellKit

Swipeable UITableViewCell based on the stock Mail.app, implemented in Swift.

[iOS] SwipeCellKit:UITableViewCell 内各种滑动变化及动画效果

About

A swipeable UITableViewCell with support for:

  • Left and right swipe actions
  • Action buttons with: text only, text + image, image only
  • Haptic Feedback
  • Customizable transitions: Border, Drag, and Reveal
  • Animated expansion when dragging past threshold

Demo

Transition Styles

The transition style describes how the action buttons are exposed during the swipe.

Border

[iOS] SwipeCellKit:UITableViewCell 内各种滑动变化及动画效果

Drag

[iOS] SwipeCellKit:UITableViewCell 内各种滑动变化及动画效果

Reveal

[iOS] SwipeCellKit:UITableViewCell 内各种滑动变化及动画效果

Expansion Styles

The expansion style describes the behavior when the cell is swiped past a defined threshold.

None

[iOS] SwipeCellKit:UITableViewCell 内各种滑动变化及动画效果

Selection

[iOS] SwipeCellKit:UITableViewCell 内各种滑动变化及动画效果

Destructive

[iOS] SwipeCellKit:UITableViewCell 内各种滑动变化及动画效果

Requirements

  • Swift 3.0
  • Xcode 8
  • iOS 10.0+

Installation

CocoaPods (recommended)

use_frameworks!

# Latest release in CocoaPods
pod 'SwipeCellKit'

# Get the latest on develop
pod 'SwipeCellKit', :git => 'https://github.com/jerkoch/SwipeCellKit.git', :branch => 'develop'

Carthage

github "jerkoch/SwipeCellKit"

Documentation

Read the docs . Generated with jazzy . Hosted by GitHub Pages .

Usage

Set the delegate property on SwipeTableViewCell :

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "Cell") as! SwipeTableViewCell
    cell.delegate = self
    return cell
}

Adopt the SwipeTableViewCellDelegate protocol:

func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath, for orientation: SwipeActionsOrientation) -> [SwipeAction]? {
    guard orientation == .right else { return nil }

    let deleteAction = SwipeAction(style: .destructive, title: "Delete") { action, indexPath in
        // handle action by updating model with deletion
    }

    // customize the action appearance
    deleteAction.image = UIImage(named: "delete")

    return [deleteAction]
}

Optionally, you call implement the options method to customize the behavior of the swipe actions:

func tableView(_ tableView: UITableView, editActionsOptionsForRowAt indexPath: IndexPath, for orientation: SwipeActionsOrientation) -> SwipeTableOptions {
    var options = SwipeTableOptions()
    options.expansionStyle = .destructive
    options.transitionStyle = .border
    return options
}

Credits

Created and maintained by @jerkoch .

License

SwipeCellKit is released under an MIT License . See LICENSE for details.

Please provide attribution, it is greatly appreciated.

原文  https://github.com/jerkoch/SwipeCellKit
正文到此结束
Loading...