forked from organicmaps/organicmaps
[ios] Added status bar style update on menu state change.
This commit is contained in:
parent
99d5fd1360
commit
fc7fcb7078
5 changed files with 27 additions and 13 deletions
|
@ -6,6 +6,8 @@
|
|||
// Copyright (c) 2015 MapsWithMe. All rights reserved.
|
||||
//
|
||||
|
||||
#import "MWMSideMenuManager.h"
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
typedef NS_ENUM(NSUInteger, MWMMapViewControlsButton)
|
||||
|
@ -21,7 +23,7 @@ typedef NS_ENUM(NSUInteger, MWMMapViewControlsButton)
|
|||
|
||||
@property (nonatomic) BOOL hidden;
|
||||
@property (nonatomic) BOOL zoomHidden;
|
||||
@property (nonatomic) BOOL menuHidden;
|
||||
@property (nonatomic) MWMSideMenuState menuState;
|
||||
@property (nonatomic) BOOL locationHidden;
|
||||
|
||||
- (instancetype)init __attribute__((unavailable("init is not available")));
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
self.menuManager = [[MWMSideMenuManager alloc] initWithParentController:controller];
|
||||
self.hidden = NO;
|
||||
self.zoomHidden = NO;
|
||||
self.menuHidden = NO;
|
||||
self.menuState = MWMSideMenuStateInactive;
|
||||
return self;
|
||||
}
|
||||
|
||||
|
@ -71,7 +71,7 @@
|
|||
return;
|
||||
_hidden = hidden;
|
||||
self.zoomHidden = _zoomHidden;
|
||||
self.menuHidden = _menuHidden;
|
||||
self.menuState = self.menuManager.state;
|
||||
self.locationHidden = _locationHidden;
|
||||
GetFramework().SetFullScreenMode(hidden);
|
||||
}
|
||||
|
@ -82,10 +82,14 @@
|
|||
self.zoomButtons.hidden = self.hidden || zoomHidden;
|
||||
}
|
||||
|
||||
- (void)setMenuHidden:(BOOL)menuHidden
|
||||
- (void)setMenuState:(MWMSideMenuState)menuState
|
||||
{
|
||||
_menuHidden = menuHidden;
|
||||
self.menuManager.state = (self.hidden || menuHidden) ? MWMSideMenuStateHidden : MWMSideMenuStateInactive;
|
||||
self.menuManager.state = self.hidden ? MWMSideMenuStateHidden : menuState;
|
||||
}
|
||||
|
||||
- (MWMSideMenuState)menuState
|
||||
{
|
||||
return self.menuManager.state;
|
||||
}
|
||||
|
||||
- (void)setLocationHidden:(BOOL)locationHidden
|
||||
|
|
|
@ -162,6 +162,7 @@ extern NSString * const kAlohalyticsTapEventKey;
|
|||
if (_state == state)
|
||||
return;
|
||||
_state = state;
|
||||
[self.controller updateStatusBarStyle];
|
||||
switch (state)
|
||||
{
|
||||
case MWMSideMenuStateActive:
|
||||
|
|
|
@ -40,6 +40,8 @@ namespace search { struct AddressInfo; }
|
|||
|
||||
- (void)setMapStyle:(MapStyle)mapStyle;
|
||||
|
||||
- (void)updateStatusBarStyle;
|
||||
|
||||
@property (nonatomic) UIPopoverController * popoverVC;
|
||||
@property (nonatomic, readonly) BOOL apiMode;
|
||||
@property (nonatomic) SearchView * searchView;
|
||||
|
|
|
@ -605,7 +605,7 @@ typedef NS_ENUM(NSUInteger, UserTouchesAction)
|
|||
else
|
||||
{
|
||||
UIStatusBarStyle style = UIStatusBarStyleDefault;
|
||||
if (self.searchView.state != SearchViewStateHidden)
|
||||
if (self.searchView.state != SearchViewStateHidden || self.controlsManager.menuState == MWMSideMenuStateActive)
|
||||
style = UIStatusBarStyleLightContent;
|
||||
if (self.containerView.placePage.state != PlacePageStateHidden)
|
||||
style = UIStatusBarStyleDefault;
|
||||
|
@ -613,6 +613,14 @@ typedef NS_ENUM(NSUInteger, UserTouchesAction)
|
|||
}
|
||||
}
|
||||
|
||||
- (void)updateStatusBarStyle
|
||||
{
|
||||
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)])
|
||||
[self setNeedsStatusBarAppearanceUpdate];
|
||||
else
|
||||
[UIApplication sharedApplication].statusBarStyle = [self preferredStatusBarStyle];
|
||||
}
|
||||
|
||||
- (BOOL)prefersStatusBarHidden
|
||||
{
|
||||
return NO;
|
||||
|
@ -1053,8 +1061,7 @@ typedef NS_ENUM(NSUInteger, UserTouchesAction)
|
|||
{
|
||||
if (object == self.containerView.placePage && [keyPath isEqualToString:@"state"])
|
||||
{
|
||||
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)])
|
||||
[self setNeedsStatusBarAppearanceUpdate];
|
||||
[self updateStatusBarStyle];
|
||||
switch (self.containerView.placePage.state)
|
||||
{
|
||||
case PlacePageStateHidden:
|
||||
|
@ -1126,8 +1133,7 @@ typedef NS_ENUM(NSUInteger, UserTouchesAction)
|
|||
}
|
||||
else if (object == self.searchView && [keyPath isEqualToString:@"state"])
|
||||
{
|
||||
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)])
|
||||
[self setNeedsStatusBarAppearanceUpdate];
|
||||
[self updateStatusBarStyle];
|
||||
if (self.searchView.state == SearchViewStateFullscreen)
|
||||
{
|
||||
GetFramework().ActivateUserMark(NULL);
|
||||
|
@ -1196,8 +1202,7 @@ typedef NS_ENUM(NSUInteger, UserTouchesAction)
|
|||
|
||||
_apiMode = apiMode;
|
||||
|
||||
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)])
|
||||
[self setNeedsStatusBarAppearanceUpdate];
|
||||
[self updateStatusBarStyle];
|
||||
}
|
||||
|
||||
- (void)cleanUserMarks
|
||||
|
|
Loading…
Add table
Reference in a new issue