帮酷LOGO
  • 显示原文与译文双语对照的内容
文章标签:Gesture  Gestures  
A better way to handle gestures and control events

  • 源代码名称:Tactile
  • 源代码网址:http://www.github.com/delba/Tactile
  • Tactile源代码文档
  • Tactile源代码下载
  • Git URL:
    git://www.github.com/delba/Tactile.git
  • Git Clone代码到本地:
    git clone http://www.github.com/delba/Tactile
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/delba/Tactile
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • Travis StatusCocoaPods compatibleCarthage compatible

    Tactile是一种更加安全和惯用的方式来响应手势和控制事件。 它让你在编译时捕获 Bug 并编写更具表现力的代码。

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

    用法

    Tactile Tactile同时扩展了 UIViewUIControl的类。

    UIView扩展

    UIView+Tactile.swift

    on 方法

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

    on(gesture:callback:)

    let tap =UITapGestureRecognizer()
    tap.numberOfTapsRequired=3tap.numberOfTouchesRequired=2view.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)
    shorthand-方法

    的触觉定义 6 shorthand 方法: 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()
    将手势识别器附加到多个视图

    使用触觉,你可以将相同的手势识别器附加到多个视图。

    let tap =UITapGestureRecognizer()
    tap.numberOfTapsRequired=3tap.numberOfTouchesRequired=2firstView.on(tap, firstViewTapped)
    secondView.on(tap, secondViewTapped)

    UIControl扩展

    UIControl+Tactile.swift

    使用 on 方法为一个或者多个控件事件附加事件处理程序函数。

    ( 事件:回调:)

    button.on(.touchUpInside, tapped)// func tapped(button: UIButton)

    ( 事件:回调:)

    button.on([.touchUpInside,. touchUpOutside], tapped)// func tapped(button: UIButton)

    ( 回调:)

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

    安装

    Carthage

    是一个分散的依赖管理器,它自动将框架添加到你的Cocoa 应用程序的过程中。

    你可以使用以下命令使用 Homebrew 安装 Carthage:

    $ brew update
    $ brew install carthage

    要使用Carthage将触感集成到Xcode项目中,请在 Cartfile 中指定它:

    github"delba/Tactile"> = 1.0

    CocoaPods

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

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

    $ gem install cocoapods

    要使用CocoaPods将触感集成到Xcode项目中,请在 Podfile 中指定它:

    use_frameworks!
    pod 'Tactile', '~> 1.0'

    许可证

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

    若要在取得该软件副本时免费授予任何人,如有下列条件的软件,请免费授予该软件的副本,并与相关的文档文件("软件") 进行许可,包括不受限制的权利,包括以下条件:

    上述版权声明和本许可声明须包括在所有的副本或实质性部分的软件。

    软件是"是",没有任何保证,表示或者隐含,包括但不限于销售,适合特定用途和 NONINFRINGEMENT 。 作者或者版权持有人在合同。侵权或者它的他与软件或者它的他用户交易的行为。



    文章标签:Gesture  Gestures  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语