@@ -106,11 +106,6 @@ - (void)viewDidLoad
106
106
forCellReuseIdentifier: cellWithIconIdentifier];
107
107
[self .tableView setTableHeaderView: [self buildTableHeaderView ]];
108
108
109
- // Register for keyboard notifications
110
- NSNotificationCenter *nc = [NSNotificationCenter defaultCenter ];
111
- [nc addObserver: self selector: @selector (keyboardWillShow: ) name: UIKeyboardWillShowNotification object: nil ];
112
- [nc addObserver: self selector: @selector (keyboardWillHide: ) name: UIKeyboardWillHideNotification object: nil ];
113
-
114
109
_tagImage = [[UIImage imageNamed: @" icon_tag" ] imageWithRenderingMode: UIImageRenderingModeAlwaysTemplate];
115
110
_settingsImage = [[UIImage imageNamed: @" icon_settings" ] imageWithRenderingMode: UIImageRenderingModeAlwaysTemplate];
116
111
_allNotesImage = [[UIImage imageNamed: @" icon_allnotes" ] imageWithRenderingMode: UIImageRenderingModeAlwaysTemplate];
@@ -124,6 +119,7 @@ - (void)viewDidLoad
124
119
[[UIMenuController sharedMenuController ] setMenuItems: @[renameItem]];
125
120
[[UIMenuController sharedMenuController ] update ];
126
121
122
+ NSNotificationCenter *nc = [NSNotificationCenter defaultCenter ];
127
123
[nc addObserver: self selector: @selector (menuDidChangeVisibility: ) name: UIMenuControllerDidHideMenuNotification object: nil ];
128
124
[nc addObserver: self selector: @selector (menuDidChangeVisibility: ) name: UIMenuControllerDidShowMenuNotification object: nil ];
129
125
@@ -133,6 +129,11 @@ - (void)viewDidLoad
133
129
- (void )viewWillAppear : (BOOL )animated
134
130
{
135
131
[super viewWillAppear: animated];
132
+
133
+ // Register for keyboard notifications
134
+ NSNotificationCenter *nc = [NSNotificationCenter defaultCenter ];
135
+ [nc addObserver: self selector: @selector (keyboardWillShow: ) name: UIKeyboardWillShowNotification object: nil ];
136
+ [nc addObserver: self selector: @selector (keyboardWillHide: ) name: UIKeyboardWillHideNotification object: nil ];
136
137
137
138
CGRect tableViewFrame = self.tableView .frame ;
138
139
tableViewFrame.size .height = self.view .frame .size .height - SPSettingsButtonHeight;
@@ -146,6 +147,19 @@ - (void)viewWillAppear:(BOOL)animated
146
147
[self updateHeaderButtonHighlight ];
147
148
}
148
149
150
+ - (void )viewWillDisappear : (BOOL )animated {
151
+ [super viewWillDisappear: animated];
152
+
153
+ [self removeKeyboardObservers ];
154
+ }
155
+
156
+ - (void )removeKeyboardObservers
157
+ {
158
+ NSNotificationCenter *nc = [NSNotificationCenter defaultCenter ];
159
+ [nc removeObserver: self name: UIKeyboardWillHideNotification object: nil ];
160
+ [nc removeObserver: self name: UIKeyboardWillShowNotification object: nil ];
161
+ }
162
+
149
163
- (VSTheme *)theme {
150
164
151
165
return [[VSThemeManager sharedManager ] theme ];
@@ -733,7 +747,6 @@ - (void)delayedReloadData {
733
747
#pragma mark KeyboardNotifications
734
748
735
749
- (void )keyboardWillShow : (NSNotification *)notification {
736
-
737
750
CGRect keyboardFrame = [(NSValue *)[notification.userInfo objectForKey: UIKeyboardFrameEndUserInfoKey] CGRectValue ];
738
751
739
752
CGFloat keyboardHeight = MIN (keyboardFrame.size .height , keyboardFrame.size .width );
@@ -750,7 +763,6 @@ - (void)keyboardWillShow:(NSNotification *)notification {
750
763
}
751
764
752
765
- (void )keyboardWillHide : (NSNotification *)notification {
753
-
754
766
CGRect newFrame = self.tableView .frame ;
755
767
newFrame.size .height = self.view .superview .frame .size .height - self.view .frame .origin .y - SPSettingsButtonHeight;
756
768
0 commit comments