Tactile 3.0.1

Tactile 3.0.1

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2019年11月
SPM支持SPM

Damien Delba 维护。



Tactile 3.0.1

  • 作者
  • Damien

Travis Status CocoaPods compatible Carthage compatible

Tactile 是响应手势和控制事件更安全、更符合习惯的方式。它可以让您在编译时捕获错误,并编写更具表达力的代码。

view.pan([
    .began:   panBegan,
    .changed: panChanged,
    .ended:   panEnded
])

// func panBegan(pan: UIPanGestureRecognizer)
// func panChanged(pan: UIPanGestureRecognizer)
// func panEnded(pan: UIPanGestureRecognizer)

用法安装许可证

用法

Tactile 扩展了 UIViewUIControl 类。

UIView 扩展

UIView+Tactile.swift

on 方法

使用 on 方法添加手势识别器。

on(gesture:callback:)

let tap = UITapGestureRecognizer()
tap.numberOfTapsRequired = 3
tap.numberOfTouchesRequired = 2

view.on(tap, tapped)

// func tapped(tap: UITapGestureRecognizer)

on(gesture:state:callback:)

let pinch = UIPinchGestureRecognizer()

view.on(pinch, .began, pinchBegan)

// func pinchBegan(pinch: UIPinchGestureRecognizer)

on(gesture:states:callback:)

let pan = UIPanGestureRecognizer()

view.on(pan, [.began, .ended], panBeganOrEnded)

// func panBeganOrEnded(pan: UIPanGestureRecognizer)

on(gesture:callbacks:)

let pinch = UIPinchGestureRecognizer()

view.on(pinch, [
  .began: pinchBegan,
  .ended: pinchEnded
])

// func pinchBegan(pinch: UIPinchGestureRecognizer)
// func pinchEnded(pinch: UIPinchGestureRecognizer)

简写方法

Tactile 定义了6个简写方法:longPresspanpinchrotationswipetap

<shorthand>(callback:)

view.tap(tapped)

// func tapped(tap: UITapGestureRecognizer)

<shorthand>(state:callback:)

view.pinch(.began, pinchBegan)

// func pinchBegan(pinch: UIPinchGestureRecognizer)

<shorthand>(states:callback:)

view.pan([.began, .ended], panBeganOrEnded)

// func panBeganOrEnded(pan: UIPanGestureRecognizer)

<shorthand>(callbacks:)

view.longPress([
  .began: longPressBegan,
  .ended: longPressEnded
])

// func longPressBegan(longPress: UILongPressGestureRecognizer)
// func longPressEnded(longPress: UILongPressGestureRecognizer)

《off》方法

使用《off》方法来移除手势识别器。

off(gesture:)

let tap = UITapGestureRecognizer()
view.on(tap, tapped)

// ...

view.off(tap)

off(gestureType:)

view.off(UITapGestureRecognizer.self)

off()

view.off()

将手势识别器附加到多个视图

在Tactile中,您可以同时将相同的手势识别器附加到多个视图。

let tap = UITapGestureRecognizer()
tap.numberOfTapsRequired = 3
tap.numberOfTouchesRequired = 2

firstView.on(tap, firstViewTapped)
secondView.on(tap, secondViewTapped)

UIControl扩展

UIControl+Tactile.swift

使用《on》方法为单个或多个控件事件附加事件处理函数。

on(event:callback:)

button.on(.touchUpInside, tapped)

// func tapped(button: UIButton)

on(events:callback:)

button.on([.touchUpInside, .touchUpOutside], tapped)

// func tapped(button: UIButton)

on(callbacks:)

button.on([
  .touchUpInside: tapped,
  .touchUpOutside: cancelledTap
])

// func tapped(button: UIButton)
// func cancelledTap(button: UIButton)

安装

Carthage

Carthage是一个去中心化的依赖管理器,它自动化了将框架添加到Cocoa应用程序的过程。

您可以使用以下命令通过Homebrew安装Carthage:

$ brew update
$ brew install carthage

要使用Carthage将Tactile集成到您的Xcode项目中,请在您的《Cartfile》中指定它。

github "delba/Tactile" >= 1.0

CocoaPods

CocoaPods是Cocoa项目的依赖管理器。

您可以使用以下命令安装它:

$ gem install cocoapods

要使用CocoaPods将Tactile集成到您的Xcode项目中,请在您的《Podfile》中指定它。

use_frameworks!

pod 'Tactile', '~> 1.0'

许可证

版权所有 (c) 2015-2019 Damien (http://delba.io)

在此特此授予任何获取此软件及其相关文档文件(以下称“软件”)副本的人以下权利:不附加任何费用使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许获得软件的人执行上述行为,前提是遵守以下条件

上述版权声明和本许可通知应包含在软件的任何副本或实质部分中。

软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于对适销性、特定用途的适用性和非侵权的保证。在没有任何事件、行为或疏忽的情况下,包括合同、侵权或其他行为,作者或版权持有者不对任何索赔、损害或其他责任负责,无论是因为软件或其使用或以任何其他方式与之相关。