diff options
author | v.mikhaylenko <v.mikhaylenko@corp.mail.ru> | 2015-06-18 18:28:00 +0300 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 02:52:43 +0300 |
commit | 49ab3116dcd4fb6431ba8f55b98fc62b7f5c9a11 (patch) | |
tree | 48daaedb54eaa91ec9115134c02fbca0ef13be25 /iphone/Maps/Classes/MWMBookmarkDescriptionViewController.mm | |
parent | cd19027e52420cffea81ac9443416e2f79977b88 (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.mm | 34 |
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) |