Class: Motion::Xray::XrayLockButton
- Defined in:
- lib/motion-xray/views/xray_lock_button.rb
Constant Summary collapse
- States =
4
- LockedState =
0
- UnlockedState =
1
- LockedVerticalState =
2
- LockedHorizontalState =
3
- InitialState =
LockedState
- UnlockedImage =
'xray_lock_button_unlocked'.uiimage
- LockedHorizontalImage =
'xray_lock_button_horizontal'.uiimage
- LockedVerticalImage =
'xray_lock_button_vertical'.uiimage
- LockedImage =
'xray_lock_button_locked'.uiimage
Instance Attribute Summary collapse
-
#lock_state ⇒ Object
readonly
Returns the value of attribute lock_state.
Instance Method Summary collapse
Methods inherited from UIButton
Instance Attribute Details
#lock_state ⇒ Object (readonly)
Returns the value of attribute lock_state.
16 17 18 |
# File 'lib/motion-xray/views/xray_lock_button.rb', line 16 def lock_state @lock_state end |
Instance Method Details
#init ⇒ Object
18 19 20 21 |
# File 'lib/motion-xray/views/xray_lock_button.rb', line 18 def init frame = [[0, 0], UnlockedImage.size] initWithFrame(frame) end |
#initWithFrame(frame) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/motion-xray/views/xray_lock_button.rb', line 23 def initWithFrame(frame) super.tap do @lock_state = InitialState update_state self.on :touch do @lock_state += 1 @lock_state = @lock_state % States update_state end end end |
#update_state ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/motion-xray/views/xray_lock_button.rb', line 35 def update_state case @lock_state when UnlockedState self.setImage(UnlockedImage, forState: :normal.uicontrolstate) when LockedVerticalState self.setImage(LockedVerticalImage, forState: :normal.uicontrolstate) when LockedHorizontalState self.setImage(LockedHorizontalImage, forState: :normal.uicontrolstate) when LockedState self.setImage(LockedImage, forState: :normal.uicontrolstate) end end |