Method: UIView#on_swipe

Defined in:
lib/ios/sugarcube-gestures/gestures.rb

#on_swipe(taps) ⇒ Object #on_swipe(options) ⇒ Object

Overloads:

  • #on_swipe(taps) ⇒ Object

    Parameters:

    • direction (Fixnum)

      Direction of swipe

  • #on_swipe(options) ⇒ Object

    Options Hash (options):

    • :fingers (Fixnum)

      Number of fingers before gesture is recognized

    • :direction (Fixnum, Symbol)

      Direction of swipe, as a UISwipeGestureRecognizerDirection constant or a symbol (‘:left, :right, :up, :down`)

Yields:

  • (recognizer)

    Handles the gesture event, and passes the recognizer instance to the block.



87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# File 'lib/ios/sugarcube-gestures/gestures.rb', line 87

def on_swipe(direction_or_options=nil, &proc)
  direction = nil
  fingers = nil

  if direction_or_options
    if direction_or_options.is_a? Hash
      direction = direction_or_options[:direction] || direction
      fingers = direction_or_options[:fingers] || fingers
    else
      direction = direction_or_options
    end
  end

  case direction
  when :left
    direction = UISwipeGestureRecognizerDirectionLeft
  when :right
    direction = UISwipeGestureRecognizerDirectionRight
  when :up
    direction = UISwipeGestureRecognizerDirectionUp
  when :down
    direction = UISwipeGestureRecognizerDirectionDown
  end

  recognizer = UISwipeGestureRecognizer.alloc.initWithTarget(self, action:'sugarcube_handle_gesture:')
  recognizer.direction = direction if direction
  recognizer.numberOfTouchesRequired = fingers if fingers
  sugarcube_add_gesture(proc, recognizer)
end