From 3aed797094458e649e769c482fccbec63424d8d2 Mon Sep 17 00:00:00 2001 From: Ilya Grechuhin Date: Mon, 27 Jul 2015 14:30:40 +0300 Subject: [PATCH] [ios] Fixed PP description display. --- .../MWMBookmarkDescriptionViewController.mm | 13 +++--- .../MWMBookmarkDescriptionViewController.xib | 26 ++++++++---- iphone/Maps/Classes/MWMTextView.mm | 41 ++++++++++--------- 3 files changed, 45 insertions(+), 35 deletions(-) diff --git a/iphone/Maps/Classes/MWMBookmarkDescriptionViewController.mm b/iphone/Maps/Classes/MWMBookmarkDescriptionViewController.mm index 4d6e2c5b81..5a34d9b097 100644 --- a/iphone/Maps/Classes/MWMBookmarkDescriptionViewController.mm +++ b/iphone/Maps/Classes/MWMBookmarkDescriptionViewController.mm @@ -14,7 +14,6 @@ #import "UIViewController+Navigation.h" static NSString * const kBookmarkDescriptionViewControllerNibName = @"MWMBookmarkDescriptionViewController"; -static CGFloat const kIpadPlacePageDefaultHeight = 288.; typedef NS_ENUM(NSUInteger, BookmarkDescriptionState) { @@ -83,10 +82,6 @@ typedef NS_ENUM(NSUInteger, BookmarkDescriptionState) return; [self.iPadOwnerNavigationController setNavigationBarHidden:NO]; - CGFloat const bottomOffset = 12.; - self.iPadOwnerNavigationController.view.height = kIpadPlacePageDefaultHeight; - self.textView.height = kIpadPlacePageDefaultHeight - bottomOffset; - self.webView.height = kIpadPlacePageDefaultHeight - bottomOffset; } - (void)setState:(BookmarkDescriptionState)state @@ -109,6 +104,8 @@ typedef NS_ENUM(NSUInteger, BookmarkDescriptionState) - (void)setupForEditingWithText:(NSString *)text { + self.textView.hidden = NO; + self.textView.text = text; [UIView animateWithDuration:0.2f animations:^ { self.webView.alpha = 0.; @@ -116,13 +113,15 @@ typedef NS_ENUM(NSUInteger, BookmarkDescriptionState) } completion:^(BOOL finished) { - self.textView.text = text; + self.webView.hidden = YES; }]; [self configureNavigationBarForEditing]; } - (void)setupForViewWithText:(NSString *)text { + self.webView.hidden = NO; + [self.webView loadHTMLString:text baseURL:nil]; [UIView animateWithDuration:0.2f animations:^ { self.webView.alpha = 1.; @@ -130,7 +129,7 @@ typedef NS_ENUM(NSUInteger, BookmarkDescriptionState) } completion:^(BOOL finished) { - [self.webView loadHTMLString:text baseURL:nil]; + self.textView.hidden = YES; }]; [self configureNavigationBarForView]; } diff --git a/iphone/Maps/Classes/MWMBookmarkDescriptionViewController.xib b/iphone/Maps/Classes/MWMBookmarkDescriptionViewController.xib index cd488d09bc..ba0887790a 100644 --- a/iphone/Maps/Classes/MWMBookmarkDescriptionViewController.xib +++ b/iphone/Maps/Classes/MWMBookmarkDescriptionViewController.xib @@ -1,8 +1,8 @@ - + - + @@ -13,13 +13,12 @@ - + - - - + + @@ -28,9 +27,8 @@ - - - + + @@ -39,6 +37,16 @@ + + + + + + + + + + diff --git a/iphone/Maps/Classes/MWMTextView.mm b/iphone/Maps/Classes/MWMTextView.mm index 944c960623..3ede3ae463 100644 --- a/iphone/Maps/Classes/MWMTextView.mm +++ b/iphone/Maps/Classes/MWMTextView.mm @@ -9,8 +9,6 @@ #import "MWMTextView.h" #import "Common.h" -static CGFloat const kDefaultTextLeftInset = 5.; - @interface MWMTextView () @property (nonatomic) UILabel * placeholderView; @@ -23,7 +21,7 @@ static CGFloat const kDefaultTextLeftInset = 5.; { self = [super initWithCoder:coder]; if (self) - [self preparePlaceholder]; + [self prepare]; return self; } @@ -32,24 +30,13 @@ static CGFloat const kDefaultTextLeftInset = 5.; { self = [super initWithFrame:frame textContainer:textContainer]; if (self) - [self preparePlaceholder]; + [self prepare]; return self; } -- (void)preparePlaceholder +- (void)prepare { - NSAssert(!self.placeholderView, @"placeholder has been prepared already: %@", self.placeholderView); - - self.placeholderView = [[UILabel alloc] initWithFrame:self.bounds]; - self.placeholderView.opaque = NO; - self.placeholderView.backgroundColor = [UIColor clearColor]; - self.placeholderView.textColor = [UIColor lightGrayColor]; - self.placeholderView.textAlignment = self.textAlignment; - self.placeholderView.userInteractionEnabled = NO; - self.placeholderView.font = self.font; - self.placeholderView.isAccessibilityElement = NO; - [self setTextContainerInset:UIEdgeInsetsZero]; [self updatePlaceholderVisibility]; @@ -60,6 +47,23 @@ static CGFloat const kDefaultTextLeftInset = 5.; self.clipsToBounds = YES; } +- (UILabel *)placeholderView +{ + if (!_placeholderView) + { + _placeholderView = [[UILabel alloc] initWithFrame:self.bounds]; + _placeholderView.opaque = NO; + _placeholderView.backgroundColor = [UIColor clearColor]; + _placeholderView.textColor = [UIColor lightGrayColor]; + _placeholderView.textAlignment = self.textAlignment; + _placeholderView.userInteractionEnabled = NO; + _placeholderView.font = self.font; + _placeholderView.isAccessibilityElement = NO; + _placeholderView.numberOfLines = 0; + } + return _placeholderView; +} + #pragma mark - Setters - (void)setPlaceholder:(NSString *)placeholder @@ -95,7 +99,6 @@ static CGFloat const kDefaultTextLeftInset = 5.; - (void)setTextContainerInset:(UIEdgeInsets)textContainerInset { - textContainerInset.left -= kDefaultTextLeftInset; [super setTextContainerInset:textContainerInset]; [self updatePlaceholderInset:textContainerInset]; } @@ -108,7 +111,6 @@ static CGFloat const kDefaultTextLeftInset = 5.; - (void)resizePlaceholderFrame { - self.placeholderView.numberOfLines = 0; [self.placeholderView sizeToFit]; } @@ -119,7 +121,8 @@ static CGFloat const kDefaultTextLeftInset = 5.; - (void)updatePlaceholderInset:(UIEdgeInsets)inset { - self.placeholderView.frame = CGRectMake(inset.left + kDefaultTextLeftInset, inset.top, self.bounds.size.width - inset.right, self.bounds.size.height - inset.bottom); + CGFloat const kDefaultPlaceholderLeftInset = 5.0; + self.placeholderView.frame = CGRectMake(inset.left + kDefaultPlaceholderLeftInset, inset.top, self.bounds.size.width - inset.right, self.bounds.size.height - inset.bottom); [self resizePlaceholderFrame]; }