diff --git a/iphone/Maps/Classes/CustomViews/NavigationDashboard/MWMNavigationInfoView.mm b/iphone/Maps/Classes/CustomViews/NavigationDashboard/MWMNavigationInfoView.mm index 852f45466f..9a333c21e7 100644 --- a/iphone/Maps/Classes/CustomViews/NavigationDashboard/MWMNavigationInfoView.mm +++ b/iphone/Maps/Classes/CustomViews/NavigationDashboard/MWMNavigationInfoView.mm @@ -5,6 +5,7 @@ #import "MWMLocationHelpers.h" #import "MWMLocationManager.h" #import "MWMMapViewControlsManager.h" +#import "MWMMapWidgets.h" #import "MWMRouter.h" #import "MWMSearch.h" #import "MapViewController.h" @@ -323,13 +324,16 @@ BOOL defaultOrientation(CGSize const & size) [self layoutIfNeeded]; [self layoutSearch]; [UIView animateWithDuration:kDefaultAnimationDuration - animations:^{ - self.searchButtonsView.layer.cornerRadius = - (defaultOrientation(self.frame.size) ? kSearchButtonsViewHeightPortrait - : kSearchButtonsViewHeightLandscape) / - 2; - [self layoutIfNeeded]; - }]; + animations:^{ + self.searchButtonsView.layer.cornerRadius = + (defaultOrientation(self.frame.size) ? kSearchButtonsViewHeightPortrait + : kSearchButtonsViewHeightLandscape) / + 2; + [self layoutIfNeeded]; + } + completion:^(BOOL finished) { + [[MWMMapWidgets widgetsManager] layoutWidgets]; + }]; } - (void)setSearchState:(NavigationSearchState)searchState animated:(BOOL)animated diff --git a/iphone/Maps/Classes/Widgets/MWMMapWidgets.h b/iphone/Maps/Classes/Widgets/MWMMapWidgets.h index d1a462c3ed..6b4c133ad7 100644 --- a/iphone/Maps/Classes/Widgets/MWMMapWidgets.h +++ b/iphone/Maps/Classes/Widgets/MWMMapWidgets.h @@ -2,6 +2,8 @@ @interface MWMMapWidgets : NSObject ++ (MWMMapWidgets *)widgetsManager; + @property (nonatomic) BOOL fullScreen; @property (nonatomic) CGFloat leftBound; @property (nonatomic) CGFloat bottomBound; @@ -9,4 +11,6 @@ - (void)setupWidgets:(Framework::DrapeCreationParams &)p; - (void)resize:(CGSize)size; +- (void)layoutWidgets; + @end diff --git a/iphone/Maps/Classes/Widgets/MWMMapWidgets.mm b/iphone/Maps/Classes/Widgets/MWMMapWidgets.mm index d6b0df5f52..7a68d280ea 100644 --- a/iphone/Maps/Classes/Widgets/MWMMapWidgets.mm +++ b/iphone/Maps/Classes/Widgets/MWMMapWidgets.mm @@ -1,6 +1,8 @@ #import "MWMMapWidgets.h" #import "Common.h" +#import "EAGLView.h" #import "MWMNavigationDashboardManager.h" +#import "MapViewController.h" #include "drape_frontend/gui/skin.hpp" #include "std/unique_ptr.hpp" @@ -16,6 +18,11 @@ unique_ptr m_skin; } ++ (MWMMapWidgets *)widgetsManager +{ + return ((EAGLView *)[MapViewController controller].view).widgetsManager; +} + - (void)setupWidgets:(Framework::DrapeCreationParams &)p { self.visualScale = p.m_visualScale;