From 018fdf190f656fbdc474f3feec6108711dc03768 Mon Sep 17 00:00:00 2001 From: "v.mikhaylenko" Date: Tue, 23 Jun 2015 17:21:11 +0300 Subject: [PATCH] [ios] Fixed bug with place page title after editing. --- iphone/Maps/Classes/MWMPlacePage.h | 2 +- iphone/Maps/Classes/MWMPlacePage.mm | 5 +++-- iphone/Maps/Classes/MWMPlacePageBookmarkCell.mm | 8 +++----- iphone/Maps/Classes/MWMiPadPlacePage.mm | 9 +++++++++ iphone/Maps/Classes/MWMiPhoneLandscapePlacePage.mm | 3 ++- iphone/Maps/Classes/MWMiPhonePortraitPlacePage.mm | 3 ++- 6 files changed, 20 insertions(+), 10 deletions(-) diff --git a/iphone/Maps/Classes/MWMPlacePage.h b/iphone/Maps/Classes/MWMPlacePage.h index 2f681a5fb3..22e7a7ae98 100644 --- a/iphone/Maps/Classes/MWMPlacePage.h +++ b/iphone/Maps/Classes/MWMPlacePage.h @@ -34,7 +34,7 @@ - (void)stopBuildingRoute; - (void)reloadBookmark; - (void)willStartEditingBookmarkTitle:(CGFloat)keyboardHeight; -- (void)willFinishEditingBookmarkTitle:(CGFloat)keyboardHeight; +- (void)willFinishEditingBookmarkTitle:(NSString *)title; - (IBAction)didTap:(UITapGestureRecognizer *)sender; diff --git a/iphone/Maps/Classes/MWMPlacePage.mm b/iphone/Maps/Classes/MWMPlacePage.mm index 86401a0f0f..988777bf29 100644 --- a/iphone/Maps/Classes/MWMPlacePage.mm +++ b/iphone/Maps/Classes/MWMPlacePage.mm @@ -146,9 +146,10 @@ extern NSString * const kAlohalyticsTapEventKey; // This method should be empty if your target is iPad. } -- (void)willFinishEditingBookmarkTitle:(CGFloat)keyboardHeight +- (void)willFinishEditingBookmarkTitle:(NSString *)title { -// This method should be empty if your target is iPad. + self.basePlacePageView.titleLabel.text = title; + [self.basePlacePageView layoutSubviews]; } - (IBAction)didTap:(UITapGestureRecognizer *)sender diff --git a/iphone/Maps/Classes/MWMPlacePageBookmarkCell.mm b/iphone/Maps/Classes/MWMPlacePageBookmarkCell.mm index aaceb1e828..aa397377eb 100644 --- a/iphone/Maps/Classes/MWMPlacePageBookmarkCell.mm +++ b/iphone/Maps/Classes/MWMPlacePageBookmarkCell.mm @@ -41,7 +41,7 @@ extern NSString * const kBookmarkCellWebViewDidFinishLoadContetnNotification = @ name:UIKeyboardWillShowNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(keyboardWillBeHidden:) + selector:@selector(keyboardWillBeHidden) name:UIKeyboardWillHideNotification object:nil]; } @@ -53,12 +53,10 @@ extern NSString * const kBookmarkCellWebViewDidFinishLoadContetnNotification = @ [self.placePage willStartEditingBookmarkTitle:kbSize.height]; } -- (void)keyboardWillBeHidden:(NSNotification *)aNotification +- (void)keyboardWillBeHidden { - NSDictionary const * info = [aNotification userInfo]; - CGSize const kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size; if ([self.title isEditing]) - [self.placePage willFinishEditingBookmarkTitle:kbSize.height]; + [self.placePage willFinishEditingBookmarkTitle:self.title.text.length > 0 ? self.title.text : self.placePage.manager.entity.title]; } - (void)textFieldDidEndEditing:(UITextField *)textField diff --git a/iphone/Maps/Classes/MWMiPadPlacePage.mm b/iphone/Maps/Classes/MWMiPadPlacePage.mm index 1f7d51aa33..4159164d07 100644 --- a/iphone/Maps/Classes/MWMiPadPlacePage.mm +++ b/iphone/Maps/Classes/MWMiPadPlacePage.mm @@ -117,6 +117,15 @@ static CGFloat const kTopOffset = 36.; }]; } +- (void)willFinishEditingBookmarkTitle:(NSString *)title +{ + [super willFinishEditingBookmarkTitle:title]; + CGFloat const actionBarHeight = self.actionBar.height; + CGFloat const defaultHeight = self.basePlacePageView.height + self.anchorImageView.height + actionBarHeight - 1; + self.actionBar.origin = CGPointMake(0., defaultHeight - actionBarHeight); + self.navigationController.view.height = defaultHeight; +} + - (void)addBookmark { [super addBookmark]; diff --git a/iphone/Maps/Classes/MWMiPhoneLandscapePlacePage.mm b/iphone/Maps/Classes/MWMiPhoneLandscapePlacePage.mm index 483b212a4e..60c517ee03 100644 --- a/iphone/Maps/Classes/MWMiPhoneLandscapePlacePage.mm +++ b/iphone/Maps/Classes/MWMiPhoneLandscapePlacePage.mm @@ -129,8 +129,9 @@ typedef NS_ENUM(NSUInteger, MWMiPhoneLandscapePlacePageState) }]; } -- (void)willFinishEditingBookmarkTitle:(CGFloat)keyboardHeight +- (void)willFinishEditingBookmarkTitle:(NSString *)title { + [super willFinishEditingBookmarkTitle:title]; [UIView animateWithDuration:0.3f animations:^ { self.basePlacePageView.transform = CGAffineTransformMakeTranslation(0., 0.); diff --git a/iphone/Maps/Classes/MWMiPhonePortraitPlacePage.mm b/iphone/Maps/Classes/MWMiPhonePortraitPlacePage.mm index 96ec55ca45..bba69ce41b 100644 --- a/iphone/Maps/Classes/MWMiPhonePortraitPlacePage.mm +++ b/iphone/Maps/Classes/MWMiPhonePortraitPlacePage.mm @@ -237,8 +237,9 @@ typedef NS_ENUM(NSUInteger, MWMiPhonePortraitPlacePageState) self.state = MWMiPhonePortraitPlacePageStateOpen; } -- (void)willFinishEditingBookmarkTitle:(CGFloat)keyboardHeight +- (void)willFinishEditingBookmarkTitle:(NSString *)title { + [super willFinishEditingBookmarkTitle:title]; self.keyboardHeight = 0.; [self updateTargetPoint]; }