forked from organicmaps/organicmaps
[release-74-visible-area] [ios] Updated widgets available area estimation.
This commit is contained in:
parent
de359880d4
commit
c71f7c70d5
16 changed files with 115 additions and 92 deletions
|
@ -22,6 +22,7 @@
|
|||
#import "MWMFrameworkHelper.h"
|
||||
#import "MWMKeyboard.h"
|
||||
#import "MWMLocationManager.h"
|
||||
#import "MWMMapWidgetsHelper.h"
|
||||
#import "MWMNoMapsViewController.h"
|
||||
#import "MWMPlacePageButtonsProtocol.h"
|
||||
#import "MWMPlacePageCellUpdateProtocol.h"
|
||||
|
|
|
@ -254,7 +254,6 @@ extern NSString * const kAlohalyticsTapEventKey;
|
|||
{
|
||||
self.trafficButtonHidden = NO;
|
||||
self.menuState = MWMBottomMenuStateInactive;
|
||||
static_cast<EAGLView *>(self.ownerController.view).widgetsManager.fullScreen = NO;
|
||||
}
|
||||
|
||||
- (void)addPlace:(BOOL)isBusiness hasPoint:(BOOL)hasPoint point:(m2::PointD const &)point
|
||||
|
@ -262,7 +261,6 @@ extern NSString * const kAlohalyticsTapEventKey;
|
|||
self.trafficButtonHidden = YES;
|
||||
self.menuState = MWMBottomMenuStateHidden;
|
||||
MapViewController * ownerController = self.ownerController;
|
||||
static_cast<EAGLView *>(ownerController.view).widgetsManager.fullScreen = YES;
|
||||
[self.placePageManager close];
|
||||
self.searchManager.state = MWMSearchManagerStateHidden;
|
||||
|
||||
|
@ -314,8 +312,6 @@ extern NSString * const kAlohalyticsTapEventKey;
|
|||
auto const bottomBound = nm.bottom;
|
||||
[self.sideButtons setTopBound:topBound];
|
||||
[self.sideButtons setBottomBound:bottomBound];
|
||||
[MWMMapWidgets widgetsManager].bottomBound = bottomBound;
|
||||
[MWMMapWidgets widgetsManager].leftBound = nm.left;
|
||||
}
|
||||
|
||||
- (void)setDisableStandbyOnRouteFollowing:(BOOL)disableStandbyOnRouteFollowing
|
||||
|
@ -452,8 +448,6 @@ extern NSString * const kAlohalyticsTapEventKey;
|
|||
self.sideButtonsHidden = _sideButtonsHidden;
|
||||
self.trafficButtonHidden = _trafficButtonHidden;
|
||||
self.menuState = _menuState;
|
||||
EAGLView * glView = (EAGLView *)self.ownerController.view;
|
||||
glView.widgetsManager.fullScreen = hidden;
|
||||
}
|
||||
|
||||
- (void)setZoomHidden:(BOOL)zoomHidden
|
||||
|
|
|
@ -433,9 +433,6 @@ BOOL defaultOrientation(CGSize const & size)
|
|||
: kSearchButtonsViewHeightLandscape) /
|
||||
2;
|
||||
[self layoutIfNeeded];
|
||||
}
|
||||
completion:^(BOOL finished) {
|
||||
[[MWMMapWidgets widgetsManager] layoutWidgets];
|
||||
}];
|
||||
}
|
||||
|
||||
|
|
|
@ -30,4 +30,6 @@ final class NavigationAddPointToastView: UIView {
|
|||
separator.isHidden = true
|
||||
}
|
||||
}
|
||||
|
||||
override var widgetsAreaAffectDirections: MWMAvailableAreaAffectDirections { return .bottom }
|
||||
}
|
||||
|
|
|
@ -311,18 +311,25 @@ CGFloat constexpr kAdditionalHeight = 20.;
|
|||
self.arriveLabel.text = [NSString stringWithFormat:L(@"routing_arrive"), arriveStr.UTF8String];
|
||||
}
|
||||
|
||||
#pragma mark - VisibleArea
|
||||
#pragma mark - AvailableArea / VisibleArea
|
||||
|
||||
- (MWMAvailableAreaAffectDirections)visibleAreaAffectDirections
|
||||
{
|
||||
return IPAD ? MWMAvailableAreaAffectDirectionsLeft : MWMAvailableAreaAffectDirectionsTop;
|
||||
}
|
||||
|
||||
#pragma mark - PlacePageArea
|
||||
#pragma mark - AvailableArea / PlacePageArea
|
||||
|
||||
- (MWMAvailableAreaAffectDirections)placePageAreaAffectDirections
|
||||
{
|
||||
return IPAD ? MWMAvailableAreaAffectDirectionsLeft : MWMAvailableAreaAffectDirectionsNone;
|
||||
}
|
||||
|
||||
#pragma mark - AvailableArea / WidgetsArea
|
||||
|
||||
- (MWMAvailableAreaAffectDirections)widgetsAreaAffectDirections
|
||||
{
|
||||
return IPAD ? MWMAvailableAreaAffectDirectionsLeft : MWMAvailableAreaAffectDirectionsNone;
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
@ -4,13 +4,9 @@
|
|||
|
||||
+ (MWMMapWidgets *)widgetsManager;
|
||||
|
||||
@property (nonatomic) BOOL fullScreen;
|
||||
@property (nonatomic) CGFloat leftBound;
|
||||
@property (nonatomic) CGFloat bottomBound;
|
||||
|
||||
- (void)setupWidgets:(Framework::DrapeCreationParams &)p;
|
||||
- (void)resize:(CGSize)size;
|
||||
|
||||
- (void)layoutWidgets;
|
||||
- (void)resize:(CGSize)size;
|
||||
- (void)updateAvailableArea:(CGRect)frame;
|
||||
|
||||
@end
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
@interface MWMMapWidgets ()
|
||||
|
||||
@property(nonatomic) float visualScale;
|
||||
@property(nonatomic) CGRect availableArea;
|
||||
|
||||
@end
|
||||
|
||||
|
@ -38,73 +39,34 @@
|
|||
- (void)resize:(CGSize)size
|
||||
{
|
||||
m_skin->Resize(size.width, size.height);
|
||||
[self layoutWidgets];
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[self updateAvailableArea:self.availableArea];
|
||||
});
|
||||
}
|
||||
|
||||
- (void)doLayoutWidgets
|
||||
- (void)updateAvailableArea:(CGRect)frame
|
||||
{
|
||||
self.availableArea = frame;
|
||||
if (m_skin == nullptr)
|
||||
return;
|
||||
gui::TWidgetsLayoutInfo layout;
|
||||
if (self.fullScreen)
|
||||
{
|
||||
layout[gui::WIDGET_RULER] = m_skin->ResolvePosition(gui::WIDGET_RULER).m_pixelPivot;
|
||||
layout[gui::WIDGET_COMPASS] = m_skin->ResolvePosition(gui::WIDGET_COMPASS).m_pixelPivot;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_skin->ForEach([&layout, &self](gui::EWidget w, gui::Position const & pos) {
|
||||
m2::PointF pivot = pos.m_pixelPivot;
|
||||
switch (w)
|
||||
{
|
||||
case gui::WIDGET_RULER:
|
||||
case gui::WIDGET_COPYRIGHT:
|
||||
{
|
||||
auto const vs = self.visualScale;
|
||||
pivot -= m2::PointF(-self.leftBound * vs,
|
||||
([MapViewController controller].view.height - self.bottomBound) * vs);
|
||||
break;
|
||||
}
|
||||
case gui::WIDGET_COMPASS:
|
||||
case gui::WIDGET_SCALE_LABEL:
|
||||
case gui::WIDGET_CHOOSE_POSITION_MARK: break;
|
||||
}
|
||||
layout[w] = pivot;
|
||||
});
|
||||
}
|
||||
auto const vs = self.visualScale;
|
||||
auto const viewHeight = [MapViewController controller].view.height;
|
||||
auto const rulerOffset =
|
||||
m2::PointF(frame.origin.x * vs, (frame.origin.y + frame.size.height - viewHeight) * vs);
|
||||
m_skin->ForEach([&layout, &rulerOffset](gui::EWidget w, gui::Position const & pos) {
|
||||
m2::PointF pivot = pos.m_pixelPivot;
|
||||
switch (w)
|
||||
{
|
||||
case gui::WIDGET_RULER:
|
||||
case gui::WIDGET_COPYRIGHT: pivot += rulerOffset; break;
|
||||
case gui::WIDGET_COMPASS:
|
||||
case gui::WIDGET_SCALE_LABEL:
|
||||
case gui::WIDGET_CHOOSE_POSITION_MARK: break;
|
||||
}
|
||||
layout[w] = pivot;
|
||||
});
|
||||
GetFramework().SetWidgetLayout(move(layout));
|
||||
}
|
||||
|
||||
- (void)layoutWidgets
|
||||
{
|
||||
auto doLayoutWidgets = @selector(doLayoutWidgets);
|
||||
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:doLayoutWidgets object:nil];
|
||||
[self performSelector:doLayoutWidgets withObject:nil afterDelay:0];
|
||||
}
|
||||
|
||||
#pragma mark - Properties
|
||||
|
||||
- (void)setFullScreen:(BOOL)fullScreen
|
||||
{
|
||||
_fullScreen = fullScreen;
|
||||
[self layoutWidgets];
|
||||
}
|
||||
|
||||
- (void)setLeftBound:(CGFloat)leftBound
|
||||
{
|
||||
CGFloat const newLeftBound = MAX(leftBound, 0.0);
|
||||
if (equalScreenDimensions(_leftBound, newLeftBound))
|
||||
return;
|
||||
_leftBound = newLeftBound;
|
||||
[self layoutWidgets];
|
||||
}
|
||||
|
||||
- (void)setBottomBound:(CGFloat)bottomBound
|
||||
{
|
||||
if (equalScreenDimensions(_bottomBound, bottomBound))
|
||||
return;
|
||||
_bottomBound = bottomBound;
|
||||
[self layoutWidgets];
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
5
iphone/Maps/Classes/Widgets/MWMMapWidgetsHelper.h
Normal file
5
iphone/Maps/Classes/Widgets/MWMMapWidgetsHelper.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
@interface MWMMapWidgetsHelper : NSObject
|
||||
|
||||
+ (void)updateAvailableArea:(CGRect)frame;
|
||||
|
||||
@end
|
11
iphone/Maps/Classes/Widgets/MWMMapWidgetsHelper.mm
Normal file
11
iphone/Maps/Classes/Widgets/MWMMapWidgetsHelper.mm
Normal file
|
@ -0,0 +1,11 @@
|
|||
#import "MWMMapWidgetsHelper.h"
|
||||
#import "MWMMapWidgets.h"
|
||||
|
||||
@implementation MWMMapWidgetsHelper
|
||||
|
||||
+ (void)updateAvailableArea:(CGRect)frame
|
||||
{
|
||||
[[MWMMapWidgets widgetsManager] updateAvailableArea:frame];
|
||||
}
|
||||
|
||||
@end
|
|
@ -160,6 +160,12 @@
|
|||
343E75971E5B1EE20041226A /* MWMCollectionViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 343E75961E5B1EE20041226A /* MWMCollectionViewController.mm */; };
|
||||
343E75981E5B1EE20041226A /* MWMCollectionViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 343E75961E5B1EE20041226A /* MWMCollectionViewController.mm */; };
|
||||
343E75991E5B1EE20041226A /* MWMCollectionViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 343E75961E5B1EE20041226A /* MWMCollectionViewController.mm */; };
|
||||
3444DFCC1F1760B900E73099 /* WidgetsArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3444DFCB1F1760B900E73099 /* WidgetsArea.swift */; };
|
||||
3444DFCD1F1760B900E73099 /* WidgetsArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3444DFCB1F1760B900E73099 /* WidgetsArea.swift */; };
|
||||
3444DFCE1F1760B900E73099 /* WidgetsArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3444DFCB1F1760B900E73099 /* WidgetsArea.swift */; };
|
||||
3444DFD11F17620C00E73099 /* MWMMapWidgetsHelper.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3444DFD01F17620C00E73099 /* MWMMapWidgetsHelper.mm */; };
|
||||
3444DFD21F17620C00E73099 /* MWMMapWidgetsHelper.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3444DFD01F17620C00E73099 /* MWMMapWidgetsHelper.mm */; };
|
||||
3444DFD31F17620C00E73099 /* MWMMapWidgetsHelper.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3444DFD01F17620C00E73099 /* MWMMapWidgetsHelper.mm */; };
|
||||
3446C6771DDCA9A200146687 /* libtraffic.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3446C6761DDCA9A200146687 /* libtraffic.a */; };
|
||||
344D63171E795A2D006F17CB /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 344D63161E795A2D006F17CB /* SystemConfiguration.framework */; };
|
||||
344D63181E795A3C006F17CB /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 344D63161E795A2D006F17CB /* SystemConfiguration.framework */; };
|
||||
|
@ -1734,6 +1740,9 @@
|
|||
3432E1771E49B3A2008477E9 /* Bolts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Bolts.framework; sourceTree = "<group>"; };
|
||||
343E75951E5B1EE20041226A /* MWMCollectionViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MWMCollectionViewController.h; sourceTree = "<group>"; };
|
||||
343E75961E5B1EE20041226A /* MWMCollectionViewController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MWMCollectionViewController.mm; sourceTree = "<group>"; };
|
||||
3444DFCB1F1760B900E73099 /* WidgetsArea.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WidgetsArea.swift; sourceTree = "<group>"; };
|
||||
3444DFCF1F17620C00E73099 /* MWMMapWidgetsHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MWMMapWidgetsHelper.h; sourceTree = "<group>"; };
|
||||
3444DFD01F17620C00E73099 /* MWMMapWidgetsHelper.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MWMMapWidgetsHelper.mm; sourceTree = "<group>"; };
|
||||
3446C6761DDCA9A200146687 /* libtraffic.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libtraffic.a; path = "../../../omim-build/xcode/Debug/libtraffic.a"; sourceTree = "<group>"; };
|
||||
344D63161E795A2D006F17CB /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
|
||||
345050211E028B8000A8DC59 /* Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Bridging-Header.h"; sourceTree = "<group>"; };
|
||||
|
@ -3409,6 +3418,7 @@
|
|||
34E7760E1F14B165003040B3 /* VisibleArea.swift */,
|
||||
34E776161F14B6E2003040B3 /* MWMAvailableAreaAffectDirection.h */,
|
||||
34E7761D1F14DB48003040B3 /* PlacePageArea.swift */,
|
||||
3444DFCB1F1760B900E73099 /* WidgetsArea.swift */,
|
||||
);
|
||||
path = AvailableArea;
|
||||
sourceTree = "<group>";
|
||||
|
@ -3492,6 +3502,8 @@
|
|||
3406FA131C6E0C3300E9FAD2 /* MWMMapDownloadDialog.h */,
|
||||
3406FA141C6E0C3300E9FAD2 /* MWMMapDownloadDialog.mm */,
|
||||
3406FA171C6E0D8F00E9FAD2 /* MWMMapDownloadDialog.xib */,
|
||||
3444DFCF1F17620C00E73099 /* MWMMapWidgetsHelper.h */,
|
||||
3444DFD01F17620C00E73099 /* MWMMapWidgetsHelper.mm */,
|
||||
);
|
||||
path = Widgets;
|
||||
sourceTree = "<group>";
|
||||
|
@ -5414,6 +5426,7 @@
|
|||
340475581E081A4600C92850 /* WebViewController.mm in Sources */,
|
||||
F6FEA82D1C58E89B007223CC /* MWMButton.mm in Sources */,
|
||||
34F407401E9E1AFF00E57AC0 /* RBBanner.swift in Sources */,
|
||||
3444DFD11F17620C00E73099 /* MWMMapWidgetsHelper.mm in Sources */,
|
||||
F6E2FE3C1E097BA00083EBEC /* MWMMigrationViewController.mm in Sources */,
|
||||
F6150E471EFA5C94000B955D /* UGCTextReviewCell.swift in Sources */,
|
||||
F6E2FD4F1E097BA00083EBEC /* MWMMapDownloaderAdsTableViewCell.mm in Sources */,
|
||||
|
@ -5446,6 +5459,7 @@
|
|||
340475551E081A4600C92850 /* Statistics.mm in Sources */,
|
||||
F68FCB851DA7BBA6007CC7D7 /* MWMTaxiPreviewDataSource.mm in Sources */,
|
||||
F653CE161C71F60200A453F1 /* MWMAddPlaceNavigationBar.mm in Sources */,
|
||||
3444DFCC1F1760B900E73099 /* WidgetsArea.swift in Sources */,
|
||||
F6E2FE991E097BA00083EBEC /* MWMiPadPlacePageLayoutImpl.mm in Sources */,
|
||||
34D3B03B1E389D05004100F9 /* MWMEditorSwitchTableViewCell.mm in Sources */,
|
||||
3454D7CD1E07F045004AF2AD /* UIFont+MapsMeFonts.mm in Sources */,
|
||||
|
@ -5724,6 +5738,7 @@
|
|||
342CC5F21C2D7730005F3FE5 /* MWMAuthorizationLoginViewController.mm in Sources */,
|
||||
340475591E081A4600C92850 /* WebViewController.mm in Sources */,
|
||||
34F407411E9E1AFF00E57AC0 /* RBBanner.swift in Sources */,
|
||||
3444DFD21F17620C00E73099 /* MWMMapWidgetsHelper.mm in Sources */,
|
||||
F6E2FE3D1E097BA00083EBEC /* MWMMigrationViewController.mm in Sources */,
|
||||
F6150E481EFA5C94000B955D /* UGCTextReviewCell.swift in Sources */,
|
||||
F6E2FD501E097BA00083EBEC /* MWMMapDownloaderAdsTableViewCell.mm in Sources */,
|
||||
|
@ -5756,6 +5771,7 @@
|
|||
346DB82E1E5C4F6700E3123E /* GalleryItemViewController.swift in Sources */,
|
||||
340475561E081A4600C92850 /* Statistics.mm in Sources */,
|
||||
F6381BF61CD12045004CA943 /* LocaleTranslator.mm in Sources */,
|
||||
3444DFCD1F1760B900E73099 /* WidgetsArea.swift in Sources */,
|
||||
F68FCB861DA7BBA6007CC7D7 /* MWMTaxiPreviewDataSource.mm in Sources */,
|
||||
F6E2FE9A1E097BA00083EBEC /* MWMiPadPlacePageLayoutImpl.mm in Sources */,
|
||||
34D3B03C1E389D05004100F9 /* MWMEditorSwitchTableViewCell.mm in Sources */,
|
||||
|
@ -6034,6 +6050,7 @@
|
|||
3454D7E41E07F045004AF2AD /* UITextView+RuntimeAttributes.mm in Sources */,
|
||||
849CF6E91DE842290024A8A5 /* MWMCircularProgressView.mm in Sources */,
|
||||
34F407421E9E1AFF00E57AC0 /* RBBanner.swift in Sources */,
|
||||
3444DFD31F17620C00E73099 /* MWMMapWidgetsHelper.mm in Sources */,
|
||||
F6E2FE3E1E097BA00083EBEC /* MWMMigrationViewController.mm in Sources */,
|
||||
F6150E491EFA5C94000B955D /* UGCTextReviewCell.swift in Sources */,
|
||||
F6E2FD511E097BA00083EBEC /* MWMMapDownloaderAdsTableViewCell.mm in Sources */,
|
||||
|
@ -6066,6 +6083,7 @@
|
|||
849CF6FB1DE842290024A8A5 /* BookmarksVC.mm in Sources */,
|
||||
849CF6FC1DE842290024A8A5 /* MWMSideButtonsView.mm in Sources */,
|
||||
3454D7C01E07F045004AF2AD /* DateComponentsFormatter+ETA.swift in Sources */,
|
||||
3444DFCE1F1760B900E73099 /* WidgetsArea.swift in Sources */,
|
||||
F6E2FE9B1E097BA00083EBEC /* MWMiPadPlacePageLayoutImpl.mm in Sources */,
|
||||
34D3B03D1E389D05004100F9 /* MWMEditorSwitchTableViewCell.mm in Sources */,
|
||||
849CF7071DE842290024A8A5 /* LocaleTranslator.mm in Sources */,
|
||||
|
|
|
@ -79,15 +79,9 @@ class AvailableArea: UIView {
|
|||
perform(selector, with: nil, afterDelay: 0)
|
||||
}
|
||||
|
||||
func isAreaAffectingView(_ other: UIView) -> Bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func addAffectingView(_ other: UIView) {
|
||||
}
|
||||
|
||||
func notifyObserver() {
|
||||
}
|
||||
func isAreaAffectingView(_ other: UIView) -> Bool { return false }
|
||||
func addAffectingView(_ other: UIView) {}
|
||||
func notifyObserver() {}
|
||||
}
|
||||
|
||||
extension MWMAvailableAreaAffectDirections: Hashable {
|
||||
|
|
21
iphone/Maps/UI/AvailableArea/WidgetsArea.swift
Normal file
21
iphone/Maps/UI/AvailableArea/WidgetsArea.swift
Normal file
|
@ -0,0 +1,21 @@
|
|||
final class WidgetsArea: AvailableArea {
|
||||
override func isAreaAffectingView(_ other: UIView) -> Bool {
|
||||
return !other.widgetsAreaAffectDirections.isEmpty
|
||||
}
|
||||
|
||||
override func addAffectingView(_ other: UIView) {
|
||||
let ov = other.widgetsAreaAffectView
|
||||
let directions = ov.widgetsAreaAffectDirections
|
||||
addConstraints(otherView: ov, directions: directions)
|
||||
}
|
||||
|
||||
override func notifyObserver() {
|
||||
MWMMapWidgetsHelper.updateAvailableArea(frame)
|
||||
}
|
||||
}
|
||||
|
||||
extension UIView {
|
||||
var widgetsAreaAffectDirections: MWMAvailableAreaAffectDirections { return [] }
|
||||
|
||||
var widgetsAreaAffectView: UIView { return self }
|
||||
}
|
|
@ -176,7 +176,6 @@ CGFloat constexpr kTimeWidthRegular = 128;
|
|||
if (self.state == MWMBottomMenuStateHidden)
|
||||
return;
|
||||
CGFloat const height = self.superview.height - self.mainButtonsHeight.constant;
|
||||
[MWMMapWidgets widgetsManager].bottomBound = height;
|
||||
[MWMSideButtons buttons].bottomBound = height;
|
||||
}
|
||||
|
||||
|
@ -741,11 +740,18 @@ CGFloat constexpr kTimeWidthRegular = 128;
|
|||
_searchIsActive = self.searchButton.selected = searchIsActive;
|
||||
}
|
||||
|
||||
#pragma mark - VisibleArea / PlacePageArea
|
||||
#pragma mark - AvailableArea / PlacePageArea
|
||||
|
||||
- (MWMAvailableAreaAffectDirections)placePageAreaAffectDirections
|
||||
{
|
||||
return IPAD ? MWMAvailableAreaAffectDirectionsBottom : MWMAvailableAreaAffectDirectionsNone;
|
||||
}
|
||||
|
||||
#pragma mark - AvailableArea / WidgetsArea
|
||||
|
||||
- (MWMAvailableAreaAffectDirections)widgetsAreaAffectDirections
|
||||
{
|
||||
return MWMAvailableAreaAffectDirectionsBottom;
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
@ -583,7 +583,6 @@ typedef NS_ENUM(NSUInteger, MWMBottomMenuViewCell) {
|
|||
- (void)setLeftBound:(CGFloat)leftBound
|
||||
{
|
||||
((MWMBottomMenuView *)self.view).leftBound = leftBound;
|
||||
((EAGLView *)self.controller.view).widgetsManager.leftBound = leftBound;
|
||||
}
|
||||
|
||||
- (CGFloat)leftBound { return ((MWMBottomMenuView *)self.view).leftBound; }
|
||||
|
|
|
@ -4,4 +4,6 @@ class SearchBar: SolidTouchView {
|
|||
override var visibleAreaAffectDirections: MWMAvailableAreaAffectDirections { return alternative(iPhone: .top, iPad: .left) }
|
||||
|
||||
override var placePageAreaAffectDirections: MWMAvailableAreaAffectDirections { return alternative(iPhone: [], iPad: .left) }
|
||||
|
||||
override var widgetsAreaAffectDirections: MWMAvailableAreaAffectDirections { return alternative(iPhone: [], iPad: .left) }
|
||||
}
|
||||
|
|
|
@ -37,17 +37,25 @@
|
|||
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
|
||||
<color key="backgroundColor" red="0.0" green="1" blue="0.0" alpha="0.20000000000000001" colorSpace="calibratedRGB"/>
|
||||
</view>
|
||||
<view hidden="YES" userInteractionEnabled="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="NI8-tV-i2B" customClass="WidgetsArea" customModule="cm_beta" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="1" alpha="0.20000000000000001" colorSpace="calibratedRGB"/>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="0.8666666666666667" green="0.8666666666666667" blue="0.80000000000000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="awj-9E-eBS" secondAttribute="trailing" priority="100" id="6cS-mj-HcX"/>
|
||||
<constraint firstItem="FFY-Dy-Wou" firstAttribute="leading" secondItem="USG-6L-Uhw" secondAttribute="leading" priority="100" id="AW8-cN-xzE"/>
|
||||
<constraint firstAttribute="bottom" secondItem="NI8-tV-i2B" secondAttribute="bottom" priority="100" id="HW4-dR-LNu"/>
|
||||
<constraint firstAttribute="bottomMargin" secondItem="awj-9E-eBS" secondAttribute="bottom" priority="100" id="Kf4-GM-1aY"/>
|
||||
<constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="FFY-Dy-Wou" secondAttribute="bottom" id="QQc-TF-hhE"/>
|
||||
<constraint firstItem="NI8-tV-i2B" firstAttribute="leading" secondItem="USG-6L-Uhw" secondAttribute="leading" priority="100" id="Uf3-sL-39L"/>
|
||||
<constraint firstItem="awj-9E-eBS" firstAttribute="leading" secondItem="USG-6L-Uhw" secondAttribute="leading" priority="100" id="YBB-Wd-lq6"/>
|
||||
<constraint firstAttribute="bottom" secondItem="FFY-Dy-Wou" secondAttribute="bottom" priority="100" id="ZFU-IG-uZh"/>
|
||||
<constraint firstItem="FFY-Dy-Wou" firstAttribute="top" secondItem="USG-6L-Uhw" secondAttribute="top" priority="100" id="aOI-yX-CJY"/>
|
||||
<constraint firstAttribute="trailing" secondItem="NI8-tV-i2B" secondAttribute="trailing" priority="100" id="bPj-dO-SIK"/>
|
||||
<constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="awj-9E-eBS" secondAttribute="bottom" id="dNo-wc-hvO"/>
|
||||
<constraint firstAttribute="top" secondItem="NI8-tV-i2B" secondAttribute="top" priority="100" id="kvw-Gs-ady"/>
|
||||
<constraint firstAttribute="trailing" secondItem="FFY-Dy-Wou" secondAttribute="trailing" priority="100" id="qdF-Ru-TYd"/>
|
||||
<constraint firstAttribute="topMargin" secondItem="awj-9E-eBS" secondAttribute="top" priority="100" id="xFF-Ic-RDu"/>
|
||||
</constraints>
|
||||
|
@ -465,18 +473,18 @@
|
|||
<rect key="frame" x="0.0" y="28" width="320" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="RXe-xp-xlR" id="g0x-Vt-1FI">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="43"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="43.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Title" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="JcK-nR-UGw">
|
||||
<rect key="frame" x="15" y="5" width="32" height="20"/>
|
||||
<rect key="frame" x="15" y="6" width="31.5" height="19.5"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="16"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Detail" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Cmi-x5-6Vt">
|
||||
<rect key="frame" x="15" y="25" width="31" height="14"/>
|
||||
<rect key="frame" x="15" y="25.5" width="30.5" height="13.5"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="11"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
|
|
Loading…
Add table
Reference in a new issue