Class: MotionWiretap::WiretapView
- Inherits:
-
WiretapKvo
- Object
- Wiretap
- WiretapTarget
- WiretapKvo
- MotionWiretap::WiretapView
- Defined in:
- lib/motion-wiretap/ios/wiretap_ios.rb,
lib/motion-wiretap/osx/wiretap_osx.rb
Direct Known Subclasses
Instance Attribute Summary
Attributes inherited from WiretapKvo
Attributes inherited from WiretapTarget
Attributes inherited from Wiretap
Instance Method Summary collapse
- #handle_gesture(gesture) ⇒ Object
-
#initialize(target, &block) ⇒ WiretapView
constructor
A new instance of WiretapView.
- #on(recognizer, options = nil, &block) ⇒ Object
- #teardown ⇒ Object
Methods inherited from WiretapKvo
#bind_to, #observeValueForKeyPath
Methods inherited from Wiretap
#and_then, #cancel!, #combine, #dealloc, #enqueue, #filter, #listen, #map, #on_error, #queue, #reduce, #trigger_changed, #trigger_changed_on, #trigger_completed, #trigger_completed_on, #trigger_error, #trigger_error_on
Constructor Details
#initialize(target, &block) ⇒ WiretapView
Returns a new instance of WiretapView.
7 8 9 10 |
# File 'lib/motion-wiretap/ios/wiretap_ios.rb', line 7 def initialize(target, &block) super @gesture_recognizers = [] end |
Instance Method Details
#handle_gesture(gesture) ⇒ Object
40 41 42 |
# File 'lib/motion-wiretap/ios/wiretap_ios.rb', line 40 def handle_gesture(gesture) trigger_changed(gesture) end |
#on(recognizer, options = nil, &block) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/motion-wiretap/ios/wiretap_ios.rb', line 12 def on(recognizer, =nil, &block) if recognizer case recognizer when :tap recognizer = Gestures.tap(self, ) when :pinch recognizer = Gestures.pinch(self, ) when :rotate recognizer = Gestures.rotate(self, ) when :swipe recognizer = Gestures.swipe(self, ) when :pan recognizer = Gestures.pan(self, ) when :press recognizer = Gestures.press(self, ) else raise GestureNotFound.new(recognizer.to_s) end self.target.addGestureRecognizer(recognizer) @gesture_recognizers << recognizer end listen(&block) if block return self end |
#teardown ⇒ Object
44 45 46 47 48 49 50 |
# File 'lib/motion-wiretap/ios/wiretap_ios.rb', line 44 def teardown remove_gesture = (-> (recognizer) { self.target.removeGestureRecognizer(recognizer) }).weak! @gesture_recognizers.each(&remove_gesture) super end |