Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorv.mikhaylenko <v.mikhaylenko@corp.mail.ru>2015-06-18 18:28:00 +0300
committerAlex Zolotarev <alex@maps.me>2015-09-23 02:52:43 +0300
commit49ab3116dcd4fb6431ba8f55b98fc62b7f5c9a11 (patch)
tree48daaedb54eaa91ec9115134c02fbca0ef13be25 /iphone/Maps/Classes/MWMBookmarkDescriptionViewController.mm
parentcd19027e52420cffea81ac9443416e2f79977b88 (diff)
[ios] Fixed bug with wrong text view height while editing.
Diffstat (limited to 'iphone/Maps/Classes/MWMBookmarkDescriptionViewController.mm')
-rw-r--r--iphone/Maps/Classes/MWMBookmarkDescriptionViewController.mm34
1 files changed, 34 insertions, 0 deletions
diff --git a/iphone/Maps/Classes/MWMBookmarkDescriptionViewController.mm b/iphone/Maps/Classes/MWMBookmarkDescriptionViewController.mm
index a47407bcb6..0246106542 100644
--- a/iphone/Maps/Classes/MWMBookmarkDescriptionViewController.mm
+++ b/iphone/Maps/Classes/MWMBookmarkDescriptionViewController.mm
@@ -58,6 +58,15 @@ typedef NS_ENUM(NSUInteger, BookmarkDescriptionState)
self.state = BookmarkDescriptionStateViewHTML;
else
self.state = BookmarkDescriptionStateEditText;
+ if (self.iPadOwnerNavigationController)
+ return;
+ [[NSNotificationCenter defaultCenter] addObserver:self
+ selector:@selector(keyboardWillShown:)
+ name:UIKeyboardWillShowNotification object:nil];
+
+ [[NSNotificationCenter defaultCenter] addObserver:self
+ selector:@selector(keyboardWillBeHidden:)
+ name:UIKeyboardWillHideNotification object:nil];
}
- (void)viewWillAppear:(BOOL)animated
@@ -177,6 +186,31 @@ typedef NS_ENUM(NSUInteger, BookmarkDescriptionState)
self.state = BookmarkDescriptionStateEditHTML;
}
+#pragma mark - Notifications
+
+- (void)keyboardWillShown:(NSNotification *)aNotification
+{
+ NSDictionary * info = [aNotification userInfo];
+ CGSize const kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
+ CGFloat const externalHeight = self.navigationController.navigationBar.height + [UIApplication sharedApplication].statusBarFrame.size.height;
+ self.textView.height -= (kbSize.height - externalHeight);
+}
+
+- (void)keyboardWillBeHidden:(NSNotification *)aNotification
+{
+ NSDictionary * info = [aNotification userInfo];
+ CGSize const kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
+ CGFloat const externalHeight = self.navigationController.navigationBar.height + [UIApplication sharedApplication].statusBarFrame.size.height;
+ self.textView.height += (kbSize.height - externalHeight);
+}
+
+- (void)dealloc
+{
+ [[NSNotificationCenter defaultCenter] removeObserver:self];
+}
+
+#pragma mark - UIWebViewDelegate
+
- (BOOL)webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType
{
if (inType == UIWebViewNavigationTypeLinkClicked)