@@ -17,12 +17,11 @@ final class KeyboardObserverViewController: UIViewController {
17
17
override func viewDidLoad( ) {
18
18
super. viewDidLoad ( )
19
19
20
- navigationItem. title = " Observer "
21
-
22
20
keyboard. observe { [ weak self] ( event) -> Void in
23
21
guard let s = self else { return }
24
22
switch event. type {
25
23
case . willShow, . willHide, . willChangeFrame:
24
+ print ( " Fire: \( event. type) " )
26
25
let distance = UIScreen . main. bounds. height - event. keyboardFrameEnd. origin. y
27
26
let bottom = distance >= s. bottomLayoutGuide. length ? distance : s. bottomLayoutGuide. length
28
27
@@ -34,6 +33,20 @@ final class KeyboardObserverViewController: UIViewController {
34
33
break
35
34
}
36
35
}
36
+
37
+ navigationItem. title = " Observer "
38
+ navigationItem. rightBarButtonItem = UIBarButtonItem ( barButtonSystemItem: . action, target: self , action: #selector( self . rightButtonDidTap) )
39
+ }
40
+
41
+ func rightButtonDidTap( ) {
42
+ let message = keyboard. isEnabled ? " Disable keyboard observing? " : " Enable keyboard ovserving? "
43
+
44
+ let controller = UIAlertController ( title: " Keyboard observing " , message: message, preferredStyle: . alert)
45
+ controller. addAction ( UIAlertAction ( title: " Cancel " , style: . cancel, handler: nil ) )
46
+ controller. addAction ( UIAlertAction ( title: " OK " , style: . default, handler: { [ unowned self] _ in
47
+ self . keyboard. isEnabled = !self . keyboard. isEnabled
48
+ } ) )
49
+ present ( controller, animated: true , completion: nil )
37
50
}
38
51
}
39
52
0 commit comments