欢迎光临
我们一直在努力

UITableView ActionCell 滑动手势单元格

建站超值云服务器,限时71元/月

UITableView ActionCell 滑动手势单元格

项目介绍:

github地址,https://github.com/xiongxiong/ActionCell

觉得好的话,就帮忙打个星,谢谢。

ActionCell

Easy to use UITableViewCell implementing swiping to trigger actions (known from the Mailbox App)

ActionCell

Contents

  • Features

  • Requirements

  • Example

  • Installation

  • Protocols

  • Usage

  • Properties

  • Author

  • License

Features

  • [x] Flexible action support

  • [x] Support default action

  • [x] Customized action width

  • [x] Customized action control

Requirements

  • iOS 8.0+ / Mac OS X 10.11+ / tvOS 9.0+

  • Xcode 8.0+

  • Swift 3.0+

Installation

CocoaPods

CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

To integrate ActionCell into your Xcode project using CocoaPods, specify it in your Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

target '<Your Target Name>' do
    pod 'ActionCell', '~> 1.0.0'
end

Then, run the following command:

$ pod install

Carthage

Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

To integrate ActionCell into your Xcode project using Carthage, specify it in your Cartfile:

github "xiongxiong/ActionCell" ~> 1.0.0

Run carthage update to build the framework and drag the built ActionCell.framework into your Xcode project.

Manually

If you prefer not to use either of the aforementioned dependency managers, you can integrate ActionCell into your project manually.

Example

Open the example project, build and run.

Protocols

CellActionProtocol

public protocol CellActionProtocol {
    func setForeColor(color: UIColor)
    func setForeAlpha(alpha: CGFloat)
}

Usage

Inherit ActionControl & implement CellActionProtocol

public class ActionControl: UIControl {}
public class TextAction: ActionControl, CellActionProtocol {
    var label: UILabel = UILabel()
    ...

    public func setForeColor(color: UIColor) {
        label.tintColor = color
    }

    public func setForeAlpha(alpha: CGFloat) {
        label.alpha = alpha
    }
  }

IconAction & TextAction are already implemented, you can use it straightforwardly without implementing CellActionProtocol, or you can choose to implement CellActionProtocol to use your own ActionControl.

Initialize ActionCell

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        switch (indexPath as NSIndexPath).row {
        case 0:
            let cell = ActionCell<IconAction>() // create ActionCell
            cell.textLabel?.text = "Colorful actions"
            cell.defaultActionIndexLeft = 1 // set default action index to be triggered, default is the first one.
            cell.actionsLeft = [
                IconAction(iconImage: UIImage(named: "0")!, backColor: UIColor(red:0.95, green:0.33, blue:0.58, alpha:1.00)) {
                    self.output.text = ("cell 0 -- left 0 clicked")
                },
                IconAction(iconImage: UIImage(named: "1")!, backColor: UIColor(red:1.00, green:0.78, blue:0.80, alpha:1.00), width: 140) {
                    self.output.text = ("cell 0 -- left 1 clicked")
                },
                IconAction(iconImage: UIImage(named: "2")!, backColor: UIColor(red:0.51, green:0.83, blue:0.73, alpha:1.00)) {
                    self.output.text = ("cell 0 -- left 2 clicked")
                },
            ] // set actions of the action cell
            cell.defaultActionIndexRight = 2 // set default action index to be triggered, default is the first one.
            cell.actionsRight = [
                IconAction(iconImage: UIImage(named: "0")!, backColor: UIColor(red:0.14, green:0.69, blue:0.67, alpha:1.00)) {
                    self.output.text = ("cell 0 -- left 0 clicked")
                },
                IconAction(iconImage: UIImage(named: "1")!, backColor: UIColor(red:0.51, green:0.83, blue:0.73, alpha:1.00)) {
                    self.output.text = ("cell 0 -- left 1 clicked")
                },
                IconAction(iconImage: UIImage(named: "2")!, backColor: UIColor(red:1.00, green:0.78, blue:0.80, alpha:1.00), width: 140) {
                    self.output.text = ("cell 0 -- left 2 clicked")
                },
            ] // set actions of the action cell
            return cell
        default:
          break
        }

Properties

Actions

  • actionsLeft: [CellAction] // Actions – Left

  • actionsRight: [CellAction] // Actions – Right

Style

  • animationStyle: AnimationStyle = none | ladder | ladder_emergence | concurrent // Action animation style

  • defaultActionTriggerPropotion: CGFloat // The propotion of (state public to state trigger-prepare / state public to state trigger), about where the default action is triggered

  • defaultActionIconColor: UIColor? // Default action’s icon color

  • defaultActionBackImage: UIImage? // Default action’s back image

  • defaultActionBackColor: UIColor? // Default action’s back color

Behavior

  • enableDefaultAction: Bool // Enable default action to be triggered when the content is panned to far enough

  • defaultActionIndexLeft: Int // Index of default action – Left

  • defaultActionIndexRight: Int // Index of default action – Right

Animation

  • animationDuration: NSTimeInterval // Spring animation – duration of the animation

  • animationDelay: TimeInterval // Spring animation – delay of the animation

  • springDamping: CGFloat // Spring animation – spring damping of the animation

  • initialSpringVelocity: CGFloat // Spring animation – initial spring velocity of the animation

  • animationOptions: UIViewAnimationOptions // Spring animation – options of the animation

Author

xiongxiong, ximengwuheng@163.com

License

ActionCell is available under the MIT license. See the LICENSE file for more info.

code4app

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » UITableView ActionCell 滑动手势单元格
分享到: 更多 (0)