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
path: root/iphone
diff options
context:
space:
mode:
authorZoia Pribytkova <niakris90@gmail.com>2019-05-23 17:36:26 +0300
committerAleksey Belousov <beloal@users.noreply.github.com>2019-05-31 12:20:28 +0300
commit9339720c19a71642df7a6aa5b95c752bcc4e52b9 (patch)
tree5cdf2a6119fb79278d4405749756e54b280ee28e /iphone
parent771b7b09cf56c82094e511bafdf2eb080b2889d6 (diff)
[iOS] New place page state (preview plus)
Diffstat (limited to 'iphone')
-rw-r--r--iphone/Maps/LocalizedStrings/en-GB.lproj/Localizable.strings2
-rw-r--r--iphone/Maps/LocalizedStrings/en.lproj/Localizable.strings2
-rw-r--r--iphone/Maps/UI/Ads/AdBanner.swift2
-rw-r--r--iphone/Maps/UI/PlacePage/MWMPlacePageData.h2
-rw-r--r--iphone/Maps/UI/PlacePage/MWMPlacePageData.mm2
-rw-r--r--iphone/Maps/UI/PlacePage/MWMPlacePageManager.mm2
-rw-r--r--iphone/Maps/UI/PlacePage/PlacePageLayout/MWMPlacePageLayout.h3
-rw-r--r--iphone/Maps/UI/PlacePage/PlacePageLayout/MWMiPhonePlacePageLayoutImpl.mm291
-rw-r--r--iphone/Maps/UI/Search/TableView/MWMSearchCommonCell.xib14
9 files changed, 159 insertions, 161 deletions
diff --git a/iphone/Maps/LocalizedStrings/en-GB.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/en-GB.lproj/Localizable.strings
index 2e46af89e4..6e09a24cef 100644
--- a/iphone/Maps/LocalizedStrings/en-GB.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/en-GB.lproj/Localizable.strings
@@ -2367,7 +2367,7 @@
"error_already_downloaded" = "This list has already been downloaded";
-"popular_place" = "Popular";
+"popular_place" = "TOP";
"download_routes" = "Download routes";
diff --git a/iphone/Maps/LocalizedStrings/en.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/en.lproj/Localizable.strings
index eb685d0317..0d94db3e58 100644
--- a/iphone/Maps/LocalizedStrings/en.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/en.lproj/Localizable.strings
@@ -2367,7 +2367,7 @@
"error_already_downloaded" = "This list has already been downloaded";
-"popular_place" = "Popular";
+"popular_place" = "TOP";
"download_routes" = "Download routes";
diff --git a/iphone/Maps/UI/Ads/AdBanner.swift b/iphone/Maps/UI/Ads/AdBanner.swift
index a45082f325..c9c461c28b 100644
--- a/iphone/Maps/UI/Ads/AdBanner.swift
+++ b/iphone/Maps/UI/Ads/AdBanner.swift
@@ -69,7 +69,7 @@ final class AdBanner: UITableViewCell {
@objc var onRemoveAds: MWMVoidBlock?
- @objc static let detailedBannerExcessHeight: Float = 36
+ @objc static let detailedBannerExcessHeight: Float = 52
enum AdType {
case native
diff --git a/iphone/Maps/UI/PlacePage/MWMPlacePageData.h b/iphone/Maps/UI/PlacePage/MWMPlacePageData.h
index 1b34b26bd3..1a0e1f2155 100644
--- a/iphone/Maps/UI/PlacePage/MWMPlacePageData.h
+++ b/iphone/Maps/UI/PlacePage/MWMPlacePageData.h
@@ -255,7 +255,7 @@ using NewSectionsAreReady = void (^)(NSRange const & range, MWMPlacePageData * d
- (BOOL)isMyPosition;
- (BOOL)isRoutePoint;
- (RoadWarningMarkType)roadType;
-- (BOOL)isPreviewExtended;
+- (BOOL)isPreviewPlus;
- (BOOL)isPartnerAppInstalled;
+ (MWMRatingSummaryViewValueType)ratingValueType:(place_page::rating::Impress)impress;
diff --git a/iphone/Maps/UI/PlacePage/MWMPlacePageData.mm b/iphone/Maps/UI/PlacePage/MWMPlacePageData.mm
index f5343093f0..14b870b536 100644
--- a/iphone/Maps/UI/PlacePage/MWMPlacePageData.mm
+++ b/iphone/Maps/UI/PlacePage/MWMPlacePageData.mm
@@ -809,7 +809,7 @@ NSString * const kUserDefaultsLatLonAsDMSKey = @"UserDefaultsLatLonAsDMS";
- (BOOL)isHTMLDescription { return strings::IsHTML(GetPreferredBookmarkStr(m_info.GetBookmarkData().m_description)); }
- (BOOL)isRoutePoint { return m_info.IsRoutePoint(); }
- (RoadWarningMarkType)roadType { return m_info.GetRoadType(); }
-- (BOOL)isPreviewExtended { return m_info.GetOpeningMode() == place_page::OpeningMode::Details; }
+- (BOOL)isPreviewPlus { return m_info.GetOpeningMode() == place_page::OpeningMode::PreviewPlus; }
- (BOOL)isPartnerAppInstalled
{
// TODO(): Load list of registered schemas from plist.
diff --git a/iphone/Maps/UI/PlacePage/MWMPlacePageManager.mm b/iphone/Maps/UI/PlacePage/MWMPlacePageManager.mm
index 86383dd078..5eb1f70afe 100644
--- a/iphone/Maps/UI/PlacePage/MWMPlacePageManager.mm
+++ b/iphone/Maps/UI/PlacePage/MWMPlacePageManager.mm
@@ -239,7 +239,7 @@ void RegisterEventIfPossible(eye::MapObject::Event::Type const type, place_page:
- (void)destroyLayout { self.layout = nil; }
- (void)closePlacePage { GetFramework().DeactivateMapSelection(true); }
-- (BOOL)isExpandedOnShow { return self.data.isPreviewExtended; }
+- (BOOL)isPreviewPlus { return self.data.isPreviewPlus; }
- (void)onExpanded
{
if (self.isSponsoredOpenLogged)
diff --git a/iphone/Maps/UI/PlacePage/PlacePageLayout/MWMPlacePageLayout.h b/iphone/Maps/UI/PlacePage/PlacePageLayout/MWMPlacePageLayout.h
index eca44f7097..653d1c0f6e 100644
--- a/iphone/Maps/UI/PlacePage/PlacePageLayout/MWMPlacePageLayout.h
+++ b/iphone/Maps/UI/PlacePage/PlacePageLayout/MWMPlacePageLayout.h
@@ -9,7 +9,8 @@ enum class NodeStatus;
- (void)destroyLayout;
- (void)closePlacePage;
-- (BOOL)isExpandedOnShow;
+- (BOOL)isPreviewPlus;
+
- (void)onExpanded;
@end
diff --git a/iphone/Maps/UI/PlacePage/PlacePageLayout/MWMiPhonePlacePageLayoutImpl.mm b/iphone/Maps/UI/PlacePage/PlacePageLayout/MWMiPhonePlacePageLayoutImpl.mm
index 7cc8c908ec..0216358748 100644
--- a/iphone/Maps/UI/PlacePage/PlacePageLayout/MWMiPhonePlacePageLayoutImpl.mm
+++ b/iphone/Maps/UI/PlacePage/PlacePageLayout/MWMiPhonePlacePageLayoutImpl.mm
@@ -5,18 +5,6 @@
namespace
{
-enum class ScrollDirection
-{
- Up,
- Down
-};
-
-enum class State
-{
- Bottom,
- Top,
- Expanded
-};
CGFloat const kTopPlacePageStopValue = 0.7;
CGFloat const kExpandedPlacePageStopValue = 0.5;
@@ -26,12 +14,23 @@ CGFloat const kLuftDraggingOffset = 30;
CGFloat const kMinOffset = 1;
} // namespace
+typedef NS_ENUM(NSUInteger, MWMOffsetState) {
+ MWMOffsetStatePreview,
+ MWMOffsetStatePreviewPlus,
+ MWMOffsetStateOpen
+};
+
+typedef NS_ENUM(NSUInteger, MWMScrollDirection) {
+ MWMScrollDirectionUp,
+ MWMScrollDirectionDown
+};
+
@interface MWMiPhonePlacePageLayoutImpl ()<UIScrollViewDelegate, UITableViewDelegate,
MWMPPPreviewLayoutHelperDelegate>
@property(nonatomic) MWMPPScrollView * scrollView;
-@property(nonatomic) ScrollDirection direction;
-@property(nonatomic) State state;
+@property(nonatomic) MWMScrollDirection direction;
+@property(nonatomic) MWMOffsetState state;
@property(nonatomic) CGFloat lastContentOffset;
@property(weak, nonatomic) MWMPPPreviewLayoutHelper * previewLayoutHelper;
@@ -50,12 +49,10 @@ CGFloat const kMinOffset = 1;
- (instancetype)initOwnerView:(UIView *)ownerView
placePageView:(MWMPPView *)placePageView
- delegate:(id<MWMPlacePageLayoutDelegate>)delegate
-{
+ delegate:(id<MWMPlacePageLayoutDelegate>)delegate {
self = [super init];
- if (self)
- {
- auto const & size = ownerView.size;
+ if (self) {
+ CGSize size = ownerView.size;
_ownerView = ownerView;
_availableArea = ownerView.frame;
_placePageView = placePageView;
@@ -68,9 +65,8 @@ CGFloat const kMinOffset = 1;
return self;
}
-- (void)onShow
-{
- self.state = [self.delegate isExpandedOnShow] ? State::Expanded : State::Bottom;
+- (void)onShow {
+ self.state = [self.delegate isPreviewPlus] ? MWMOffsetStatePreviewPlus : MWMOffsetStatePreview;
auto scrollView = self.scrollView;
[scrollView setContentOffset:{ 0., kMinOffset }];
@@ -79,14 +75,13 @@ CGFloat const kMinOffset = 1;
place_page_layout::animate(^{
[self.actionBar setVisible:YES];
auto const targetOffset =
- self.state == State::Expanded ? self.expandedContentOffset : self.bottomContentOffset;
+ self.state == MWMOffsetStatePreviewPlus ? self.previewPlusContentOffset : self.previewContentOffset;
[self setAnimatedContentOffset:targetOffset];
});
});
}
-- (void)onClose
-{
+- (void)onClose {
self.actionBar = nil;
place_page_layout::animate(^{
[self setAnimatedContentOffset:0];
@@ -99,8 +94,7 @@ CGFloat const kMinOffset = 1;
});
}
-- (void)updateAvailableArea:(CGRect)frame
-{
+- (void)updateAvailableArea:(CGRect)frame {
if (CGRectEqualToRect(self.availableArea, frame))
return;
self.availableArea = frame;
@@ -109,78 +103,77 @@ CGFloat const kMinOffset = 1;
sv.delegate = nil;
sv.frame = frame;
sv.delegate = self;
- auto const size = frame.size;
+ CGSize size = frame.size;
self.placePageView.minY = size.height;
- [self.delegate onPlacePageTopBoundChanged:self.scrollView.contentOffset.y];
- [self setAnimatedContentOffset:self.state == State::Top ? self.topContentOffset
- : self.bottomContentOffset];
+ id<MWMPlacePageLayoutDelegate> delegate = self.delegate;
+ if (delegate == nil) { return; }
+ [delegate onPlacePageTopBoundChanged:self.scrollView.contentOffset.y];
+ CGFloat previewOffset = [delegate isPreviewPlus] ? self.previewPlusContentOffset : self.previewContentOffset;
+ [self setAnimatedContentOffset:self.state == MWMOffsetStateOpen ? self.topContentOffset : previewOffset];
}
-- (void)updateContentLayout
-{
+- (void)updateContentLayout {
auto const & size = self.availableArea.size;
self.scrollView.contentSize = {size.width, size.height + self.placePageView.height};
}
-- (void)setPreviewLayoutHelper:(MWMPPPreviewLayoutHelper *)previewLayoutHelper
-{
+- (void)setPreviewLayoutHelper:(MWMPPPreviewLayoutHelper *)previewLayoutHelper {
previewLayoutHelper.delegate = self;
_previewLayoutHelper = previewLayoutHelper;
}
#pragma mark - MWMPPPreviewLayoutHelperDelegate
-- (void)heightWasChanged
-{
+- (void)heightWasChanged {
dispatch_async(dispatch_get_main_queue(), ^{
- if (self.state == State::Bottom)
- [self setAnimatedContentOffset:self.bottomContentOffset];
+ if (self.state == MWMOffsetStatePreview)
+ [self setAnimatedContentOffset:self.previewContentOffset];
+ if (self.state == MWMOffsetStatePreviewPlus)
+ [self setAnimatedContentOffset:self.previewPlusContentOffset];
});
}
#pragma mark - UIScrollViewDelegate
-- (BOOL)isPortrait
-{
- auto const & s = self.ownerView.size;
- return s.height > s.width;
+- (BOOL)isPortrait {
+ CGSize size = self.ownerView.size;
+ return size.height > size.width;
}
-- (CGFloat)openContentOffset
-{
- auto const & size = self.ownerView.size;
- auto const offset = self.isPortrait ? MAX(size.width, size.height) : MIN(size.width, size.height);
+- (CGFloat)openContentOffset {
+ CGSize size = self.ownerView.size;
+ CGFloat offset = self.isPortrait ? MAX(size.width, size.height) : MIN(size.width, size.height);
return offset * kTopPlacePageStopValue;
}
-- (CGFloat)topContentOffset
-{
- auto const target = self.openContentOffset;
- auto const ppViewMaxY = self.placePageView.tableView.maxY;
+- (CGFloat)topContentOffset {
+ CGFloat target = self.openContentOffset;
+ CGFloat ppViewMaxY = self.placePageView.tableView.maxY;
return MIN(target, ppViewMaxY);
}
-- (CGFloat)expandedContentOffset
-{
- auto const & size = self.ownerView.size;
- auto const offset = self.isPortrait ? MAX(size.width, size.height) : MIN(size.width, size.height);
- return offset * kExpandedPlacePageStopValue;
+- (CGFloat)previewPlusContentOffset {
+ CGSize size = self.ownerView.size;
+ CGFloat offset = self.isPortrait ? MAX(size.width, size.height) : MIN(size.width, size.height);
+ CGFloat previewPlusOffset = offset * kExpandedPlacePageStopValue;
+ CGFloat previewOffset = [self previewContentOffset];
+ if (previewPlusOffset < previewOffset + kLuftDraggingOffset) {
+ return previewOffset + kLuftDraggingOffset;
+ }
+ return previewPlusOffset;
}
-- (CGFloat)bottomContentOffset
-{
+- (CGFloat)previewContentOffset {
return self.previewLayoutHelper.height + self.actionBar.height - self.placePageView.top.height;
}
-- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView
-{
+- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView {
dispatch_async(dispatch_get_main_queue(), ^{
self.isOffsetAnimated = NO;
});
}
-- (void)scrollViewDidScroll:(MWMPPScrollView *)scrollView
-{
+- (void)scrollViewDidScroll:(MWMPPScrollView *)scrollView {
if (self.isOffsetAnimated)
return;
auto ppView = self.placePageView;
@@ -189,90 +182,108 @@ CGFloat const kMinOffset = 1;
auto const & offsetY = scrollView.contentOffset.y;
id<MWMPlacePageLayoutDelegate> delegate = self.delegate;
- if (offsetY <= 0)
- {
+ if (offsetY <= 0) {
[delegate onPlacePageTopBoundChanged:0];
[delegate closePlacePage];
return;
}
auto const bounded = ppView.height + kLuftDraggingOffset;
- if (offsetY > bounded)
- {
+ if (offsetY > bounded) {
[scrollView setContentOffset:{0, bounded}];
[delegate onPlacePageTopBoundChanged:bounded];
- }
- else
- {
+ } else {
[delegate onPlacePageTopBoundChanged:offsetY];
}
- self.direction = self.lastContentOffset < offsetY ? ScrollDirection::Up : ScrollDirection::Down;
+ self.direction = self.lastContentOffset < offsetY ? MWMScrollDirectionUp : MWMScrollDirectionDown;
self.lastContentOffset = offsetY;
}
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView
withVelocity:(CGPoint)velocity
- targetContentOffset:(inout CGPoint *)targetContentOffset
-{
- auto const actualOffset = scrollView.contentOffset.y;
- auto const openOffset = self.openContentOffset;
- auto const targetOffset = (*targetContentOffset).y;
-
- if (actualOffset > self.bottomContentOffset && actualOffset < openOffset)
- {
- auto const isDirectionUp = self.direction == ScrollDirection::Up;
- self.state = isDirectionUp ? State::Top : State::Bottom;
- (*targetContentOffset).y = isDirectionUp ? openOffset : self.bottomContentOffset;
- }
- else if (actualOffset > openOffset && targetOffset < openOffset)
- {
- self.state = State::Top;
+ targetContentOffset:(inout CGPoint *)targetContentOffset {
+ CGFloat actualOffset = scrollView.contentOffset.y;
+ CGFloat openOffset = self.openContentOffset;
+ CGFloat targetOffset = (*targetContentOffset).y;
+ CGFloat previewOffset = self.previewContentOffset;
+ CGFloat previewPlusOffset = self.previewPlusContentOffset;
+ BOOL isPreviewPlus = [self.delegate isPreviewPlus];
+
+ if (actualOffset > previewPlusOffset && actualOffset < openOffset) {
+ if (self.direction == MWMScrollDirectionUp) {
+ self.state = MWMOffsetStateOpen;
+ (*targetContentOffset).y = openOffset;
+ } else {
+ self.state = isPreviewPlus ? MWMOffsetStatePreviewPlus : MWMOffsetStatePreview;
+ (*targetContentOffset).y = isPreviewPlus ? previewPlusOffset : previewOffset;
+ }
+ } else if (actualOffset > previewOffset && actualOffset < previewPlusOffset) {
+ if (self.direction == MWMScrollDirectionUp) {
+ self.state = isPreviewPlus ? MWMOffsetStatePreviewPlus : MWMOffsetStateOpen;
+ (*targetContentOffset).y = isPreviewPlus ? previewPlusOffset : openOffset;
+ } else {
+ self.state = MWMOffsetStatePreview;
+ (*targetContentOffset).y = previewOffset;
+ }
+ } else if (actualOffset > openOffset && targetOffset < openOffset) {
+ self.state = MWMOffsetStateOpen;
(*targetContentOffset).y = openOffset;
- }
- else if (actualOffset < self.bottomContentOffset)
- {
+ } else if (actualOffset < previewOffset) {
(*targetContentOffset).y = 0;
- }
- else
- {
- self.state = State::Top;
+ } else {
+ self.state = MWMOffsetStateOpen;
}
}
-- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
-{
+- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView
+ willDecelerate:(BOOL)decelerate {
if (decelerate)
return;
- auto const actualOffset = scrollView.contentOffset.y;
- auto const openOffset = self.openContentOffset;
+ CGFloat actualOffset = scrollView.contentOffset.y;
+ CGFloat openOffset = self.openContentOffset;
+ CGFloat previewOffset = self.previewContentOffset;
+ CGFloat previewPlusOffset = self.previewPlusContentOffset;
+ BOOL isPreviewPlus = [self.delegate isPreviewPlus];
- if (actualOffset < self.bottomContentOffset + kLuftDraggingOffset)
- {
- self.state = State::Bottom;
- place_page_layout::animate(^{
- [self setAnimatedContentOffset:self.bottomContentOffset];
- });
- }
- else if (actualOffset < openOffset)
- {
- auto const isDirectionUp = self.direction == ScrollDirection::Up;
- self.state = isDirectionUp ? State::Top : State::Bottom;
+ if (actualOffset < previewOffset + kLuftDraggingOffset) {
+ self.state = MWMOffsetStatePreview;
place_page_layout::animate(^{
- [self setAnimatedContentOffset:isDirectionUp ? openOffset : self.bottomContentOffset];
+ [self setAnimatedContentOffset:previewOffset];
});
- }
- else
- {
- self.state = State::Top;
+ } else if (actualOffset < previewPlusOffset) {
+ if (self.direction == MWMScrollDirectionUp) {
+ self.state = isPreviewPlus ? MWMOffsetStatePreviewPlus : MWMOffsetStateOpen;
+ place_page_layout::animate(^{
+ [self setAnimatedContentOffset:isPreviewPlus ? previewPlusOffset : openOffset];
+ });
+ } else {
+ self.state = MWMOffsetStatePreview;
+ place_page_layout::animate(^{
+ [self setAnimatedContentOffset:previewOffset];
+ });
+ }
+ } else if (actualOffset < openOffset) {
+ if (self.direction == MWMScrollDirectionUp) {
+ self.state = MWMOffsetStateOpen;
+ place_page_layout::animate(^{
+ [self setAnimatedContentOffset:openOffset];
+ });
+ } else {
+ self.state = isPreviewPlus ? MWMOffsetStatePreviewPlus : MWMOffsetStatePreview;
+ place_page_layout::animate(^{
+ [self setAnimatedContentOffset:isPreviewPlus ? previewPlusOffset : previewOffset];
+ });
+ }
+ } else {
+ self.state = MWMOffsetStateOpen;
}
}
-- (void)setState:(State)state
-{
+- (void)setState:(MWMOffsetState)state {
_state = state;
- BOOL const isTop = state == State::Top;
+ BOOL isTop = state == MWMOffsetStateOpen;
self.placePageView.anchorImage.transform = isTop ? CGAffineTransformMakeRotation(M_PI)
: CGAffineTransformIdentity;
[self.previewLayoutHelper layoutInOpenState:isTop];
@@ -282,26 +293,22 @@ CGFloat const kMinOffset = 1;
#pragma mark - UITableViewDelegate
-- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
-{
+- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section != 0)
return;
- auto cell = [tableView cellForRowAtIndexPath:indexPath];
- if ([cell isKindOfClass:[MWMAdBanner class]])
- {
+ UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
+ if ([cell isKindOfClass:[MWMAdBanner class]]) {
return;
}
CGFloat offset = 0;
- if (self.state == State::Top)
- {
- self.state = State::Bottom;
- offset = self.bottomContentOffset;
- }
- else
- {
- self.state = State::Top;
+ if (self.state == MWMOffsetStateOpen) {
+ BOOL isPreviewPlus = [self.delegate isPreviewPlus];
+ self.state = isPreviewPlus ? MWMOffsetStatePreviewPlus : MWMOffsetStatePreview;
+ offset = isPreviewPlus ? self.previewPlusContentOffset : self.previewContentOffset;
+ } else {
+ self.state = MWMOffsetStateOpen;
offset = self.topContentOffset;
}
@@ -312,22 +319,17 @@ CGFloat const kMinOffset = 1;
#pragma mark - Properties
-- (void)setAnimatedContentOffset:(CGFloat)offset
-{
+- (void)setAnimatedContentOffset:(CGFloat)offset {
self.isOffsetAnimated = YES;
[self.scrollView setContentOffset:{0, offset} animated:YES];
}
-- (void)setScrollView:(MWMPPScrollView *)scrollView
-{
- if (scrollView)
- {
+- (void)setScrollView:(MWMPPScrollView *)scrollView {
+ if (scrollView) {
scrollView.delegate = self;
[scrollView addSubview:self.placePageView];
[self.ownerView addSubview:scrollView];
- }
- else
- {
+ } else {
_scrollView.delegate = nil;
[_scrollView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
[_scrollView removeFromSuperview];
@@ -335,16 +337,13 @@ CGFloat const kMinOffset = 1;
_scrollView = scrollView;
}
-- (void)setActionBar:(MWMPlacePageActionBar *)actionBar
-{
- if (actionBar)
- {
- auto superview = self.ownerView;
+- (void)setActionBar:(MWMPlacePageActionBar *)actionBar {
+ if (actionBar) {
+ UIView *superview = self.ownerView;
[superview addSubview:actionBar];
NSLayoutXAxisAnchor * leadingAnchor = superview.leadingAnchor;
NSLayoutXAxisAnchor * trailingAnchor = superview.trailingAnchor;
- if (@available(iOS 11.0, *))
- {
+ if (@available(iOS 11.0, *)) {
UILayoutGuide * safeAreaLayoutGuide = superview.safeAreaLayoutGuide;
leadingAnchor = safeAreaLayoutGuide.leadingAnchor;
trailingAnchor = safeAreaLayoutGuide.trailingAnchor;
@@ -352,9 +351,7 @@ CGFloat const kMinOffset = 1;
[actionBar.leadingAnchor constraintEqualToAnchor:leadingAnchor].active = YES;
[actionBar.trailingAnchor constraintEqualToAnchor:trailingAnchor].active = YES;
[actionBar setVisible:NO];
- }
- else
- {
+ } else {
[_actionBar removeFromSuperview];
}
_actionBar = actionBar;
diff --git a/iphone/Maps/UI/Search/TableView/MWMSearchCommonCell.xib b/iphone/Maps/UI/Search/TableView/MWMSearchCommonCell.xib
index dea0e7d84b..dd298c379b 100644
--- a/iphone/Maps/UI/Search/TableView/MWMSearchCommonCell.xib
+++ b/iphone/Maps/UI/Search/TableView/MWMSearchCommonCell.xib
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14113" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
- <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14490.49"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
@@ -80,10 +80,10 @@
</userDefinedRuntimeAttributes>
</view>
<view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="uWz-7m-GUu">
- <rect key="frame" x="241" y="16" width="63" height="20"/>
+ <rect key="frame" x="262.5" y="16" width="41.5" height="20"/>
<subviews>
- <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Popular" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yjT-ah-SWQ">
- <rect key="frame" x="8" y="0.0" width="47" height="20"/>
+ <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="TOP" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yjT-ah-SWQ">
+ <rect key="frame" x="8" y="0.0" width="25.5" height="20"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="12"/>
<color key="textColor" red="0.1176470588" green="0.58823529409999997" blue="0.93983289930000002" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
@@ -280,7 +280,7 @@
</userDefinedRuntimeAttributes>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="$$" textAlignment="right" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WOF-of-CqB">
- <rect key="frame" x="282.5" y="54.5" width="21.5" height="20.5"/>
+ <rect key="frame" x="282.5" y="54" width="21.5" height="20.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
@@ -311,7 +311,7 @@
</userDefinedRuntimeAttributes>
</view>
<imageView hidden="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" horizontalCompressionResistancePriority="751" image="ic_hot_offer" translatesAutoresizingMaskIntoConstraints="NO" id="eHM-Vf-w4R">
- <rect key="frame" x="307" y="56" width="20" height="18"/>
+ <rect key="frame" x="307" y="55.5" width="20" height="18"/>
</imageView>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>