125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
|
# File 'lib/ios/sugarcube-gestures/gestures.rb', line 125
def on_pan(fingers_or_options=nil, &proc)
fingers = nil
edge_options = [:none]
min_fingers = nil
max_fingers = nil
recognizer = nil
if fingers_or_options
if fingers_or_options.is_a? Hash
fingers = fingers_or_options[:fingers] || fingers
edge_options = fingers_or_options[:edges] || edge_options
min_fingers = fingers_or_options[:min_fingers] || min_fingers
max_fingers = fingers_or_options[:max_fingers] || max_fingers
else
fingers = fingers_or_options
end
end
if edge_options.uniq == [:none] min_fingers ||= fingers
max_fingers ||= fingers
recognizer = UIPanGestureRecognizer.alloc.initWithTarget(self, action:'sugarcube_handle_gesture:')
recognizer.maximumNumberOfTouches = min_fingers if min_fingers
recognizer.minimumNumberOfTouches = max_fingers if max_fingers
else edges = :none.uirectedge
edge_options.each do | edge |
edges |= (edge.uirectedge || 0)
end
recognizer = UIScreenEdgePanGestureRecognizer.alloc.initWithTarget(self, action:'sugarcube_handle_gesture:')
recognizer.edges = edges
end
sugarcube_add_gesture(proc, recognizer)
end
|