Class: RMXNavigationController
Class Method Summary
collapse
Instance Method Summary
collapse
included
#dismiss, #present
#dealloc, #description, #inspect
Class Method Details
.create(rootViewController) ⇒ Object
126
127
128
129
130
131
|
# File 'lib/motion/RMXNavigationController.rb', line 126
def self.create(rootViewController)
v = alloc.initWithNavigationBarClass(UINavigationBar, toolbarClass:nil)
v.delegate = v
v.pushViewController(rootViewController, animated: false) if rootViewController
v
end
|
Instance Method Details
#animating? ⇒ Boolean
8
9
10
11
12
|
# File 'lib/motion/RMXNavigationController.rb', line 8
def animating?
if vc = viewControllers.last
vc != lastShownViewController
end
end
|
#didReceiveMemoryWarning ⇒ Object
116
117
118
119
|
# File 'lib/motion/RMXNavigationController.rb', line 116
def didReceiveMemoryWarning
p "didReceiveMemoryWarning"
super
end
|
#navigationController(navigationController, didShowViewController: view_controller, animated: animated) ⇒ Object
14
15
16
17
18
19
20
21
22
|
# File 'lib/motion/RMXNavigationController.rb', line 14
def navigationController(navigationController, didShowViewController:view_controller, animated:animated)
self.lastShownViewController = view_controller
Dispatch::Queue.main.async do
unless animating?
navigationBar.userInteractionEnabled = true
RMX.new(self).trigger(:done_animating)
end
end
end
|
#popToRootViewControllerAnimated(animated) ⇒ Object
52
53
54
55
56
57
58
59
60
61
62
63
64
|
# File 'lib/motion/RMXNavigationController.rb', line 52
def popToRootViewControllerAnimated(animated)
unless animating?
super
else
navigationBar.userInteractionEnabled = false
p "DELAYED popToRootViewControllerAnimated:", animated
RMX.new(self).once(:done_animating) do
p "RESUMED popToRootViewControllerAnimated:", animated
popToRootViewControllerAnimated(animated)
end
nil
end
end
|
#popToViewController(view_controller, animated: animated) ⇒ Object
65
66
67
68
69
70
71
72
73
74
75
76
77
|
# File 'lib/motion/RMXNavigationController.rb', line 65
def popToViewController(view_controller, animated:animated)
unless animating?
super
else
navigationBar.userInteractionEnabled = false
p "DELAYED popToViewController:animated:", view_controller, animated
RMX.new(self).once(:done_animating) do
p "RESUMED popToViewController:animated:", view_controller, animated
popToViewController(view_controller, animated:animated)
end
nil
end
end
|
#popViewControllerAnimated(animated) ⇒ Object
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/motion/RMXNavigationController.rb', line 38
def popViewControllerAnimated(animated)
unless animating?
super
else
navigationBar.userInteractionEnabled = false
p "DELAYED popViewControllerAnimated:", animated
RMX.new(self).once(:done_animating) do
p "RESUMED popViewControllerAnimated:", animated
popViewControllerAnimated(animated)
end
nil
end
end
|
#pushViewController(view_controller, animated: animated) ⇒ Object
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/motion/RMXNavigationController.rb', line 24
def pushViewController(view_controller, animated:animated)
unless animating?
super
else
navigationBar.userInteractionEnabled = false
p "DELAYED pushViewController:animated:", view_controller, animated
RMX.new(self).once(:done_animating) do
p "RESUMED pushViewController:animated:", view_controller, animated
pushViewController(view_controller, animated:animated)
end
nil
end
end
|
#resignApplicationFirstResponder ⇒ Object
109
110
111
112
113
114
|
# File 'lib/motion/RMXNavigationController.rb', line 109
def resignApplicationFirstResponder
windows = [] + UIApplication.sharedApplication.windows
while window = windows.pop
window.endEditing(true)
end
end
|
#rmx_dealloc ⇒ Object
121
122
123
124
|
# File 'lib/motion/RMXNavigationController.rb', line 121
def rmx_dealloc
NSNotificationCenter.defaultCenter.removeObserver(self)
super
end
|
#viewDidAppear(animated) ⇒ Object
90
91
92
93
94
|
# File 'lib/motion/RMXNavigationController.rb', line 90
def viewDidAppear(animated)
s = super
rmx_viewDidAppear(animated)
s
end
|
#viewDidDisappear(animated) ⇒ Object
103
104
105
106
107
|
# File 'lib/motion/RMXNavigationController.rb', line 103
def viewDidDisappear(animated)
s = super
rmx_viewDidDisappear(animated)
s
end
|
#viewDidLoad ⇒ Object
79
80
81
82
|
# File 'lib/motion/RMXNavigationController.rb', line 79
def viewDidLoad
s = super
s
end
|
#viewWillAppear(animated) ⇒ Object
84
85
86
87
88
|
# File 'lib/motion/RMXNavigationController.rb', line 84
def viewWillAppear(animated)
s = super
rmx_viewWillAppear(animated)
s
end
|
#viewWillDisappear(animated) ⇒ Object
96
97
98
99
100
101
|
# File 'lib/motion/RMXNavigationController.rb', line 96
def viewWillDisappear(animated)
s = super
resignApplicationFirstResponder
rmx_viewWillDisappear(animated)
s
end
|