Class: UITextView

Inherits:
Object show all
Defined in:
lib/sugarcube/uitextview.rb

Instance Method Summary collapse

Instance Method Details

#off(*events) ⇒ Object

Removes all events that were bound with on. Present tense and past simple aliases are provided. (e.g. editing_did_change and change)

Examples:

text_view.off(:change)
# alias:
text_view.off(:editing_did_change)
text_view.off(:editing_did_begin, :editing_did_end)
text_view.off  # all events


43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/sugarcube/uitextview.rb', line 43

def off(*events)
  if events.length == 0
    events = self.sugarcube_callbacks.keys
  end

  events.each do |event|
    case event
    when :editing_did_begin, :begin, UITextViewTextDidBeginEditingNotification
      _offEventNotification(UITextViewTextDidBeginEditingNotification)
    when :editing_did_change, :change, UITextViewTextDidChangeNotification
      _offEventNotification(UITextViewTextDidChangeNotification)
    when :editing_did_end, :end, UITextViewTextDidEndEditingNotification
      _offEventNotification(UITextViewTextDidEndEditingNotification)
    else
      raise "Unknown or unsupported event #{event} in UITextView#on"
    end
  end

  self
end

#on(*events, &block) ⇒ Object

Add event handlers to UITextView, with the same syntax as UIControl objects. Present tense and past simple aliases are provided. (e.g. editing_did_change and change)

Examples:

text_view = UITextView.alloc.initWithFrame([0, 0, 10, 10])
text_view.on(:editing_did_change) { my_code }
# alias:
text_view.on(:change) { my_code }
text_view.on(:editing_did_begin, :editing_did_end) { my_code }


17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/sugarcube/uitextview.rb', line 17

def on(*events, &block)
  events.each do |event|
    case event
    when :editing_did_begin, :begin, UITextViewTextDidBeginEditingNotification
      _onEventNotification(UITextViewTextDidBeginEditingNotification, &block)
    when :editing_did_change, :change, UITextViewTextDidChangeNotification
      _onEventNotification(UITextViewTextDidChangeNotification, &block)
    when :editing_did_end, :end, UITextViewTextDidEndEditingNotification
      _onEventNotification(UITextViewTextDidEndEditingNotification, &block)
    else
      raise "Unknown or unsupported event #{event} in UITextView#on"
    end
  end

  self
end

#sugarcube_callbacksObject



3
4
5
# File 'lib/sugarcube/uitextview.rb', line 3

def sugarcube_callbacks
  @sugarcube_callbacks ||= Hash.new { |h,k| h[k] = [] }
end