From a69e9a3cee6593084b64837e4781ed74f28d7b2a Mon Sep 17 00:00:00 2001 From: Ilya Grechuhin Date: Mon, 16 Jan 2017 18:43:52 +0300 Subject: [MAPSME-657] [ios] Added visible area support. --- .../Views/RoutePreview/MWMRoutePreview.mm | 10 +++++++++- iphone/Maps/Classes/EAGLView.mm | 2 -- iphone/Maps/Classes/MapViewController.h | 1 + iphone/Maps/Classes/MapViewController.mm | 18 ++++++++++++++++-- 4 files changed, 26 insertions(+), 5 deletions(-) (limited to 'iphone/Maps/Classes') diff --git a/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMRoutePreview.mm b/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMRoutePreview.mm index 7628724431..235421dfa8 100644 --- a/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMRoutePreview.mm +++ b/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMRoutePreview.mm @@ -1,12 +1,13 @@ #import "MWMRoutePreview.h" -#import "MWMCommon.h" #import "MWMCircularProgress.h" +#import "MWMCommon.h" #import "MWMNavigationDashboardManager.h" #import "MWMRoutePointCell.h" #import "MWMRoutePointLayout.h" #import "MWMRouter.h" #import "MWMTaxiPreviewDataSource.h" #import "Statistics.h" +#import "SwiftBridge.h" #import "UIButton+Orientation.h" #import "UIImageView+Coloring.h" @@ -481,4 +482,11 @@ CGFloat constexpr kAdditionalHeight = 20.; return cell; } +#pragma mark - VisibleArea + +- (MWMVisibleAreaAffectDirection)visibleAreaAffectDirection +{ + return IPAD ? MWMVisibleAreaAffectDirectionLeft : MWMVisibleAreaAffectDirectionTop; +} + @end diff --git a/iphone/Maps/Classes/EAGLView.mm b/iphone/Maps/Classes/EAGLView.mm index cc3829aea3..13d6029b2d 100644 --- a/iphone/Maps/Classes/EAGLView.mm +++ b/iphone/Maps/Classes/EAGLView.mm @@ -110,8 +110,6 @@ double getExactDPI(double contentScaleFactor) dispatch_async(dispatch_get_main_queue(), ^ { GetFramework().OnSize(width, height); - // TODO: Temporary realization of visible viewport, this code must be removed later. - GetFramework().SetVisibleViewport(m2::RectD(0.0, 0.0, width, height)); [self.widgetsManager resize:CGSizeMake(width, height)]; self->_drapeEngineCreated = YES; }); diff --git a/iphone/Maps/Classes/MapViewController.h b/iphone/Maps/Classes/MapViewController.h index 2a65449e45..c2599aaae1 100644 --- a/iphone/Maps/Classes/MapViewController.h +++ b/iphone/Maps/Classes/MapViewController.h @@ -40,5 +40,6 @@ struct AddressInfo; @property(nonatomic, readonly) MWMMapViewControlsManager * controlsManager; @property(nonatomic) MWMAPIBar * apiBar; @property(nonatomic) MWMWelcomePageController * welcomePageController; +@property(nonatomic) CGFloat visibleAreaBottomOffset; @end diff --git a/iphone/Maps/Classes/MapViewController.mm b/iphone/Maps/Classes/MapViewController.mm index 7036f13a5b..e679600e2d 100644 --- a/iphone/Maps/Classes/MapViewController.mm +++ b/iphone/Maps/Classes/MapViewController.mm @@ -1,16 +1,17 @@ #import "MapViewController.h" #import "BookmarksRootVC.h" #import "BookmarksVC.h" -#import "MWMCommon.h" #import "EAGLView.h" #import "MWMAPIBar.h" #import "MWMAlertViewController.h" #import "MWMAuthorizationCommon.h" #import "MWMAuthorizationLoginViewController.h" #import "MWMAuthorizationWebViewLoginViewController.h" +#import "MWMCommon.h" #import "MWMEditBookmarkController.h" #import "MWMEditorViewController.h" #import "MWMFrameworkListener.h" +#import "MWMKeyboard.h" #import "MWMLocationHelpers.h" #import "MWMLocationManager.h" #import "MWMMapDownloadDialog.h" @@ -94,7 +95,7 @@ BOOL gIsFirstMyPositionMode = YES; @end @interface MapViewController () + MWMWelcomePageControllerProtocol, MWMKeyboardObserver> @property(nonatomic, readwrite) MWMMapViewControlsManager * controlsManager; @@ -106,6 +107,9 @@ BOOL gIsFirstMyPositionMode = YES; @property(nonatomic) BOOL skipForceTouch; +@property(weak, nonatomic) IBOutlet NSLayoutConstraint * visibleAreaBottom; +@property(weak, nonatomic) IBOutlet NSLayoutConstraint * visibleAreaKeyboard; + @end @implementation MapViewController @@ -266,6 +270,7 @@ BOOL gIsFirstMyPositionMode = YES; [super viewDidLoad]; self.view.clipsToBounds = YES; [self processMyPositionStateModeEvent:location::PendingPosition]; + [MWMKeyboard addObserver:self]; } - (void)mwm_refreshUI @@ -543,6 +548,9 @@ BOOL gIsFirstMyPositionMode = YES; } } +#pragma mark - MWMKeyboard + +- (void)onKeyboardAnimation { self.visibleAreaKeyboard.constant = [MWMKeyboard keyboardHeight]; } #pragma mark - Properties - (MWMMapViewControlsManager *)controlsManager @@ -562,4 +570,10 @@ BOOL gIsFirstMyPositionMode = YES; return _downloadDialog; } +- (CGFloat)visibleAreaBottomOffset { return self.visibleAreaBottom.constant; } +- (void)setVisibleAreaBottomOffset:(CGFloat)visibleAreaBottomOffset +{ + self.visibleAreaBottom.constant = visibleAreaBottomOffset; +} + @end -- cgit v1.2.3