forked from organicmaps/organicmaps
[ios] Added elevation support.
This commit is contained in:
parent
48b03897fa
commit
a727d67ffe
9 changed files with 191 additions and 143 deletions
|
@ -8,6 +8,7 @@
|
|||
#import "UIButton+RuntimeAttributes.h"
|
||||
#import "UIColor+MapsMeColor.h"
|
||||
#import "UIFont+MapsMeFonts.h"
|
||||
#import "UIImageView+Coloring.h"
|
||||
#import "UIView+RuntimeAttributes.h"
|
||||
|
||||
#include "Framework.h"
|
||||
|
@ -84,6 +85,9 @@ CGFloat constexpr kTimeWidthRegular = 128;
|
|||
@property(weak, nonatomic) IBOutlet UILabel * estimateLabel;
|
||||
@property(weak, nonatomic) IBOutlet UIView * heightProfileContainer;
|
||||
@property(weak, nonatomic) IBOutlet UIImageView * heightProfileImage;
|
||||
@property(weak, nonatomic) IBOutlet UIView * heightProfileElevation;
|
||||
@property(weak, nonatomic) IBOutlet UIImageView * elevationImage;
|
||||
@property(weak, nonatomic) IBOutlet UILabel * elevationHeight;
|
||||
|
||||
@property(weak, nonatomic) IBOutlet UIPageControl * pageControl;
|
||||
@property(weak, nonatomic) IBOutlet NSLayoutConstraint * pageControlTopOffset;
|
||||
|
@ -112,6 +116,7 @@ CGFloat constexpr kTimeWidthRegular = 128;
|
|||
self.goButton.hidden = YES;
|
||||
self.estimateLabel.hidden = YES;
|
||||
self.heightProfileContainer.hidden = YES;
|
||||
self.heightProfileElevation.hidden = YES;
|
||||
self.toggleInfoButton.hidden = YES;
|
||||
self.speedView.hidden = YES;
|
||||
self.timeView.hidden = YES;
|
||||
|
@ -123,6 +128,7 @@ CGFloat constexpr kTimeWidthRegular = 128;
|
|||
[self.goButton setBackgroundColor:[UIColor linkBlue] forState:UIControlStateNormal];
|
||||
[self.goButton setBackgroundColor:[UIColor linkBlueHighlighted]
|
||||
forState:UIControlStateHighlighted];
|
||||
self.elevationImage.mwm_coloring = MWMImageColoringBlue;
|
||||
}
|
||||
|
||||
- (void)layoutSubviews
|
||||
|
@ -253,8 +259,9 @@ CGFloat constexpr kTimeWidthRegular = 128;
|
|||
return;
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[[MWMRouter router] routeAltitudeImageForSize:self.heightProfileImage.frame.size
|
||||
completion:^(UIImage * image) {
|
||||
completion:^(UIImage * image, NSString * altitudeElevation) {
|
||||
self.heightProfileImage.image = image;
|
||||
self.elevationHeight.text = altitudeElevation;
|
||||
}];
|
||||
});
|
||||
}
|
||||
|
@ -331,6 +338,8 @@ CGFloat constexpr kTimeWidthRegular = 128;
|
|||
if (isLandscape)
|
||||
{
|
||||
self.mainButtonsHeight.constant = kBicyclePlanningMainButtonsHeightLandscape;
|
||||
if ([MWMRouter hasRouteAltitude])
|
||||
self.estimateLabelTopOffset.priority = UILayoutPriorityDefaultHigh;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -611,6 +620,7 @@ CGFloat constexpr kTimeWidthRegular = 128;
|
|||
self.goButton.hidden = NO;
|
||||
self.estimateLabel.hidden = YES;
|
||||
self.heightProfileContainer.hidden = YES;
|
||||
self.heightProfileElevation.hidden = YES;
|
||||
self.toggleInfoButton.hidden = YES;
|
||||
self.speedView.hidden = YES;
|
||||
self.timeView.hidden = YES;
|
||||
|
@ -620,10 +630,13 @@ CGFloat constexpr kTimeWidthRegular = 128;
|
|||
self.routingAdditionalView.hidden = YES;
|
||||
break;
|
||||
case MWMBottomMenuStateGo:
|
||||
{
|
||||
self.goButton.enabled = YES;
|
||||
self.goButton.hidden = NO;
|
||||
self.estimateLabel.hidden = NO;
|
||||
self.heightProfileContainer.hidden = ![MWMRouter hasRouteAltitude];
|
||||
BOOL const hasAltitude = [MWMRouter hasRouteAltitude];
|
||||
self.heightProfileContainer.hidden = !hasAltitude;
|
||||
self.heightProfileElevation.hidden = !hasAltitude;
|
||||
self.toggleInfoButton.hidden = YES;
|
||||
self.speedView.hidden = YES;
|
||||
self.timeView.hidden = YES;
|
||||
|
@ -632,11 +645,13 @@ CGFloat constexpr kTimeWidthRegular = 128;
|
|||
self.routingView.hidden = NO;
|
||||
self.routingAdditionalView.hidden = YES;
|
||||
break;
|
||||
}
|
||||
case MWMBottomMenuStateRouting:
|
||||
self.menuButton.hidden = NO;
|
||||
self.goButton.hidden = YES;
|
||||
self.estimateLabel.hidden = YES;
|
||||
self.heightProfileContainer.hidden = YES;
|
||||
self.heightProfileElevation.hidden = YES;
|
||||
self.toggleInfoButton.hidden = NO;
|
||||
self.speedView.hidden = NO;
|
||||
self.timeView.hidden = NO;
|
||||
|
@ -650,6 +665,7 @@ CGFloat constexpr kTimeWidthRegular = 128;
|
|||
self.goButton.hidden = YES;
|
||||
self.estimateLabel.hidden = YES;
|
||||
self.heightProfileContainer.hidden = YES;
|
||||
self.heightProfileElevation.hidden = YES;
|
||||
self.toggleInfoButton.hidden = NO;
|
||||
self.speedView.hidden = NO;
|
||||
self.timeView.hidden = NO;
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="10117" systemVersion="15G1004" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES">
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="11201" systemVersion="15G1004" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11161"/>
|
||||
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="MWMBottomMenuViewController">
|
||||
|
@ -32,11 +33,9 @@
|
|||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<view opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="kbJ-If-gUR" userLabel="MainButtons">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="48"/>
|
||||
<subviews>
|
||||
<button opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="249" horizontalCompressionResistancePriority="751" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="IzQ-aQ-aPH" userLabel="Search" customClass="MWMButton">
|
||||
<rect key="frame" x="0.0" y="0.0" width="60" height="48"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<accessibility key="accessibilityConfiguration" identifier="searchButton"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="60" id="J9X-GZ-6tZ"/>
|
||||
|
@ -50,8 +49,7 @@
|
|||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="xQ0-ZK-UXk" userLabel="P2P" customClass="MWMButton">
|
||||
<rect key="frame" x="88" y="0.0" width="60" height="48"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<accessibility key="accessibilityConfiguration" identifier="p2pButton"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="60" id="paN-sx-04o"/>
|
||||
|
@ -65,8 +63,7 @@
|
|||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="qVh-dm-DDH" userLabel="Bookmarks" customClass="MWMButton">
|
||||
<rect key="frame" x="176" y="0.0" width="60" height="48"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<accessibility key="accessibilityConfiguration" identifier="bookmarksButton"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="60" id="EmN-5v-BhH"/>
|
||||
|
@ -80,22 +77,17 @@
|
|||
</connections>
|
||||
</button>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="c75-ZF-hKn">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="48"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="33 мин • 7.0 км" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EQy-vz-gyi">
|
||||
<rect key="frame" x="16" y="14" width="122" height="21"/>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="600" text="33 мин • 7.0 км" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EQy-vz-gyi">
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4Xc-Kl-hAm">
|
||||
<rect key="frame" x="154" y="12" width="54" height="24"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="150" verticalHuggingPriority="150" horizontalCompressionResistancePriority="240" verticalCompressionResistancePriority="240" translatesAutoresizingMaskIntoConstraints="NO" id="ViI-p6-hUf">
|
||||
<rect key="frame" x="0.0" y="0.0" width="54" height="24"/>
|
||||
</imageView>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="150" verticalHuggingPriority="150" horizontalCompressionResistancePriority="240" verticalCompressionResistancePriority="240" translatesAutoresizingMaskIntoConstraints="NO" id="ViI-p6-hUf"/>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="ViI-p6-hUf" firstAttribute="leading" secondItem="4Xc-Kl-hAm" secondAttribute="leading" id="4Rl-3k-ej1"/>
|
||||
<constraint firstAttribute="bottom" secondItem="ViI-p6-hUf" secondAttribute="bottom" id="YtA-RO-fmc"/>
|
||||
|
@ -103,8 +95,35 @@
|
|||
<constraint firstAttribute="trailing" secondItem="ViI-p6-hUf" secondAttribute="trailing" id="tnv-Fq-At9"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="nD5-wx-7Ui">
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="ic_elevation" translatesAutoresizingMaskIntoConstraints="NO" id="FpX-u9-FuR">
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="12" id="Wup-Xg-5Ce"/>
|
||||
<constraint firstAttribute="width" constant="10" id="rVv-JG-SyM"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="270" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dVz-cc-LUM">
|
||||
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="colorName" value="linkBlue"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="medium14"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstItem="FpX-u9-FuR" firstAttribute="leading" secondItem="nD5-wx-7Ui" secondAttribute="leading" id="2as-BP-0az"/>
|
||||
<constraint firstItem="dVz-cc-LUM" firstAttribute="leading" secondItem="FpX-u9-FuR" secondAttribute="trailing" constant="4" id="Nhd-Y8-dTQ"/>
|
||||
<constraint firstAttribute="trailing" secondItem="dVz-cc-LUM" secondAttribute="trailing" id="QIw-po-XUM"/>
|
||||
<constraint firstAttribute="bottom" secondItem="FpX-u9-FuR" secondAttribute="bottom" id="a6A-3c-6yL"/>
|
||||
<constraint firstItem="FpX-u9-FuR" firstAttribute="top" secondItem="nD5-wx-7Ui" secondAttribute="top" id="lus-SX-O0h"/>
|
||||
<constraint firstItem="dVz-cc-LUM" firstAttribute="centerY" secondItem="FpX-u9-FuR" secondAttribute="centerY" id="yEP-oH-4ti"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<button hidden="YES" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="tailTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="pLD-sZ-ejH" userLabel="Go" customClass="MWMStartButton">
|
||||
<rect key="frame" x="224" y="0.0" width="96" height="48"/>
|
||||
<accessibility key="accessibilityConfiguration" identifier="goButton"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="96" id="ZHw-Ha-INX"/>
|
||||
|
@ -112,7 +131,7 @@
|
|||
<inset key="contentEdgeInsets" minX="8" minY="0.0" maxX="8" maxY="0.0"/>
|
||||
<state key="normal" title="Start"/>
|
||||
<state key="selected">
|
||||
<color key="titleColor" red="0.0" green="0.0" blue="0.0" alpha="0.26000000000000001" colorSpace="calibratedRGB"/>
|
||||
<color key="titleColor" red="0.0" green="0.0" blue="0.0" alpha="0.26000000000000001" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</state>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="regular17"/>
|
||||
|
@ -126,34 +145,30 @@
|
|||
</connections>
|
||||
</button>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UhW-en-7qq">
|
||||
<rect key="frame" x="0.0" y="0.0" width="72" height="48"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="azs-RS-4KE">
|
||||
<rect key="frame" x="36" y="4" width="0.0" height="0.0"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="22"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<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" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Y2P-la-daO">
|
||||
<rect key="frame" x="36" y="4" width="0.0" height="0.0"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="22"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="colorName" value="blackPrimaryText"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="P9v-a6-EaA">
|
||||
<rect key="frame" x="36" y="11" width="0.0" height="0.0"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="12"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="colorName" value="blackSecondaryText"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="Y2P-la-daO" firstAttribute="centerX" secondItem="UhW-en-7qq" secondAttribute="centerX" priority="750" id="88p-qa-uC4"/>
|
||||
<constraint firstItem="Y2P-la-daO" firstAttribute="top" secondItem="UhW-en-7qq" secondAttribute="top" constant="4" id="MZ8-us-Rv7"/>
|
||||
|
@ -166,25 +181,22 @@
|
|||
</constraints>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Z68-6z-5Ph">
|
||||
<rect key="frame" x="104" y="0.0" width="112" height="48"/>
|
||||
<subviews>
|
||||
<pageControl opaque="NO" contentMode="scaleToFill" verticalCompressionResistancePriority="100" contentHorizontalAlignment="center" contentVerticalAlignment="center" numberOfPages="2" translatesAutoresizingMaskIntoConstraints="NO" id="7hO-Gk-BGJ">
|
||||
<rect key="frame" x="44" y="4" width="23" height="13"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="13" id="a7i-03-Hg1"/>
|
||||
</constraints>
|
||||
</pageControl>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jSU-Ns-SpQ">
|
||||
<rect key="frame" x="56" y="4" width="0.0" height="0.0"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="22"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="colorName" value="blackPrimaryText"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="jSU-Ns-SpQ" firstAttribute="centerX" secondItem="Z68-6z-5Ph" secondAttribute="centerX" id="DKb-2f-om1"/>
|
||||
<constraint firstAttribute="width" constant="112" id="GYP-RF-12U"/>
|
||||
|
@ -194,34 +206,30 @@
|
|||
</constraints>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="mab-rl-ueg">
|
||||
<rect key="frame" x="248" y="0.0" width="72" height="48"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="LOZ-cm-r9V">
|
||||
<rect key="frame" x="36" y="4" width="0.0" height="0.0"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="22"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<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" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="LBZ-kD-25J">
|
||||
<rect key="frame" x="36" y="4" width="0.0" height="0.0"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="22"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="colorName" value="blackPrimaryText"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5ad-tg-al9">
|
||||
<rect key="frame" x="36" y="11" width="0.0" height="0.0"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="12"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="colorName" value="blackSecondaryText"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="LBZ-kD-25J" firstAttribute="top" secondItem="mab-rl-ueg" secondAttribute="top" constant="4" id="LHZ-Zi-oiI"/>
|
||||
<constraint firstItem="5ad-tg-al9" firstAttribute="centerX" secondItem="mab-rl-ueg" secondAttribute="centerX" id="Np5-b9-h9o"/>
|
||||
|
@ -233,11 +241,9 @@
|
|||
</constraints>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qvF-jY-5Gi">
|
||||
<rect key="frame" x="0.0" y="44" width="320" height="4"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="xqD-Zl-BRc">
|
||||
<rect key="frame" x="0.0" y="0.0" width="0.0" height="4"/>
|
||||
<color key="backgroundColor" red="0.11764705882352941" green="0.58823529411764708" blue="0.94117647058823528" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<color key="backgroundColor" red="0.11764705882352941" green="0.58823529411764708" blue="0.94117647058823528" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" id="pSf-au-FVR"/>
|
||||
</constraints>
|
||||
|
@ -246,7 +252,7 @@
|
|||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.12" colorSpace="calibratedRGB"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.12" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="bottom" secondItem="xqD-Zl-BRc" secondAttribute="bottom" id="4PZ-NH-ZvR"/>
|
||||
<constraint firstItem="xqD-Zl-BRc" firstAttribute="leading" secondItem="qvF-jY-5Gi" secondAttribute="leading" id="Mfi-1F-Szz"/>
|
||||
|
@ -255,14 +261,13 @@
|
|||
</constraints>
|
||||
</view>
|
||||
<button contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="3oJ-Rv-JS7" userLabel="ToggleInfo">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="48"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<connections>
|
||||
<action selector="toggleInfoTouchUpInside" destination="-1" eventType="touchUpInside" id="kuP-Ue-Syq"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="3oJ-Rv-JS7" secondAttribute="trailing" id="3R5-Ud-LdZ"/>
|
||||
<constraint firstItem="mab-rl-ueg" firstAttribute="top" secondItem="c75-ZF-hKn" secondAttribute="top" id="3xv-Y2-YLW"/>
|
||||
|
@ -270,6 +275,7 @@
|
|||
<constraint firstItem="5ad-tg-al9" firstAttribute="centerY" secondItem="7hO-Gk-BGJ" secondAttribute="centerY" priority="500" id="6Q9-vO-V4W"/>
|
||||
<constraint firstItem="Z68-6z-5Ph" firstAttribute="centerX" secondItem="c75-ZF-hKn" secondAttribute="centerX" id="AcE-Sk-hhd"/>
|
||||
<constraint firstAttribute="bottom" secondItem="Z68-6z-5Ph" secondAttribute="bottom" id="BlR-TS-xJa"/>
|
||||
<constraint firstItem="nD5-wx-7Ui" firstAttribute="trailing" secondItem="4Xc-Kl-hAm" secondAttribute="trailing" priority="250" id="CRC-g9-WLM"/>
|
||||
<constraint firstAttribute="trailing" secondItem="pLD-sZ-ejH" secondAttribute="trailing" id="E7k-Dh-qE5"/>
|
||||
<constraint firstAttribute="bottom" secondItem="4Xc-Kl-hAm" secondAttribute="bottom" constant="12" id="IBg-Su-7fT"/>
|
||||
<constraint firstAttribute="bottom" secondItem="3oJ-Rv-JS7" secondAttribute="bottom" id="QSK-8y-lMm"/>
|
||||
|
@ -283,21 +289,23 @@
|
|||
<constraint firstItem="UhW-en-7qq" firstAttribute="leading" secondItem="c75-ZF-hKn" secondAttribute="leading" id="ZCC-xJ-5Vg"/>
|
||||
<constraint firstItem="4Xc-Kl-hAm" firstAttribute="top" secondItem="EQy-vz-gyi" secondAttribute="bottom" priority="250" constant="8" id="ZCb-We-WNy"/>
|
||||
<constraint firstItem="EQy-vz-gyi" firstAttribute="centerY" secondItem="c75-ZF-hKn" secondAttribute="centerY" priority="500" id="ZKG-5z-sra"/>
|
||||
<constraint firstItem="nD5-wx-7Ui" firstAttribute="leading" secondItem="EQy-vz-gyi" secondAttribute="leading" priority="260" id="b4o-Ke-eqq"/>
|
||||
<constraint firstItem="Z68-6z-5Ph" firstAttribute="top" secondItem="c75-ZF-hKn" secondAttribute="top" id="cpY-Wy-lyr"/>
|
||||
<constraint firstItem="EQy-vz-gyi" firstAttribute="leading" secondItem="c75-ZF-hKn" secondAttribute="leading" constant="16" id="fIE-wa-hE8"/>
|
||||
<constraint firstItem="EQy-vz-gyi" firstAttribute="top" secondItem="c75-ZF-hKn" secondAttribute="top" priority="250" constant="14" id="fOa-qL-A5d"/>
|
||||
<constraint firstItem="EQy-vz-gyi" firstAttribute="top" secondItem="c75-ZF-hKn" secondAttribute="top" priority="250" constant="12" id="fOa-qL-A5d"/>
|
||||
<constraint firstItem="pLD-sZ-ejH" firstAttribute="leading" secondItem="4Xc-Kl-hAm" secondAttribute="trailing" constant="16" id="h3c-E6-aX6"/>
|
||||
<constraint firstItem="nD5-wx-7Ui" firstAttribute="centerY" secondItem="EQy-vz-gyi" secondAttribute="centerY" priority="250" id="h5a-LJ-T8H"/>
|
||||
<constraint firstItem="P9v-a6-EaA" firstAttribute="centerY" secondItem="7hO-Gk-BGJ" secondAttribute="centerY" priority="500" id="hEB-H2-4WJ"/>
|
||||
<constraint firstItem="4Xc-Kl-hAm" firstAttribute="leading" secondItem="c75-ZF-hKn" secondAttribute="leading" priority="250" constant="12" id="mac-YL-Cyx"/>
|
||||
<constraint firstItem="3oJ-Rv-JS7" firstAttribute="top" secondItem="c75-ZF-hKn" secondAttribute="top" id="plc-KQ-Bxg"/>
|
||||
<constraint firstAttribute="bottom" secondItem="UhW-en-7qq" secondAttribute="bottom" id="tF2-H2-VBe"/>
|
||||
<constraint firstItem="4Xc-Kl-hAm" firstAttribute="top" secondItem="c75-ZF-hKn" secondAttribute="top" priority="500" constant="12" id="vt3-dc-Ngf"/>
|
||||
<constraint firstAttribute="trailing" secondItem="mab-rl-ueg" secondAttribute="trailing" id="w4c-fR-znA"/>
|
||||
<constraint firstItem="nD5-wx-7Ui" firstAttribute="bottom" secondItem="4Xc-Kl-hAm" secondAttribute="bottom" priority="500" id="wq2-oV-MOH"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<button opaque="NO" contentMode="center" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="YLY-C4-SBu" userLabel="Menu" customClass="MWMButton">
|
||||
<rect key="frame" x="260" y="0.0" width="60" height="48"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<accessibility key="accessibilityConfiguration" identifier="menuButton"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="60" id="ams-2s-vhw"/>
|
||||
|
@ -311,8 +319,7 @@
|
|||
</connections>
|
||||
</button>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="WLn-2O-Ivv" userLabel="DownloadBadge">
|
||||
<rect key="frame" x="293" y="11" width="10" height="10"/>
|
||||
<color key="backgroundColor" red="1" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<color key="backgroundColor" red="1" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="10" id="ToN-Zr-4oh"/>
|
||||
<constraint firstAttribute="height" constant="10" id="XeO-2q-gDj"/>
|
||||
|
@ -325,7 +332,7 @@
|
|||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="qvF-jY-5Gi" firstAttribute="leading" secondItem="kbJ-If-gUR" secondAttribute="leading" id="4FM-cc-hga"/>
|
||||
<constraint firstItem="YLY-C4-SBu" firstAttribute="leading" secondItem="c75-ZF-hKn" secondAttribute="trailing" priority="250" id="4e2-YH-he6"/>
|
||||
|
@ -352,8 +359,7 @@
|
|||
</constraints>
|
||||
</view>
|
||||
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="nYy-JN-hGA" userLabel="Separator">
|
||||
<rect key="frame" x="0.0" y="48" width="320" height="1"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.12" colorSpace="calibratedRGB"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.12" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="1" id="Kgm-bO-O6Q"/>
|
||||
</constraints>
|
||||
|
@ -362,8 +368,7 @@
|
|||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
<collectionView clipsSubviews="YES" contentMode="scaleToFill" bounces="NO" scrollEnabled="NO" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" delaysContentTouches="NO" bouncesZoom="NO" dataMode="none" translatesAutoresizingMaskIntoConstraints="NO" id="hSd-fM-qKd" userLabel="AdditionalButtons">
|
||||
<rect key="frame" x="0.0" y="49" width="320" height="148"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="148" id="fsD-HQ-mF9"/>
|
||||
</constraints>
|
||||
|
@ -374,10 +379,8 @@
|
|||
</connections>
|
||||
</collectionView>
|
||||
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Z8y-bh-6dN">
|
||||
<rect key="frame" x="0.0" y="48" width="320" height="64"/>
|
||||
<subviews>
|
||||
<button opaque="NO" contentMode="center" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="o9v-sB-QHp" customClass="MWMButton">
|
||||
<rect key="frame" x="0.0" y="0.0" width="64" height="64"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" priority="750" constant="64" id="pvz-bi-FpY"/>
|
||||
<constraint firstAttribute="width" constant="64" id="q3s-yb-6lU"/>
|
||||
|
@ -391,7 +394,6 @@
|
|||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="q6M-3k-tKX" customClass="MWMButton">
|
||||
<rect key="frame" x="256" y="0.0" width="64" height="64"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" priority="750" constant="64" id="6Us-Z7-JyL"/>
|
||||
<constraint firstAttribute="width" constant="64" id="GtG-l1-K05"/>
|
||||
|
@ -406,14 +408,13 @@
|
|||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Kyc-p0-3HI" customClass="MWMStopButton">
|
||||
<rect key="frame" x="112" y="14" width="96" height="36"/>
|
||||
<color key="backgroundColor" red="1" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<color key="backgroundColor" red="1" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="96" id="aRk-9J-VLI"/>
|
||||
<constraint firstAttribute="height" priority="750" constant="36" id="vAX-VM-89C"/>
|
||||
</constraints>
|
||||
<state key="normal" title="STOP">
|
||||
<color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</state>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="regular17"/>
|
||||
|
@ -430,7 +431,7 @@
|
|||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="q6M-3k-tKX" secondAttribute="trailing" id="1Zb-qW-cfl"/>
|
||||
<constraint firstAttribute="height" constant="64" id="7YS-h4-f40"/>
|
||||
|
@ -442,7 +443,7 @@
|
|||
</constraints>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="0.80000000000000004" colorSpace="calibratedRGB"/>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="hSd-fM-qKd" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="2jm-k3-CLB"/>
|
||||
<constraint firstItem="kbJ-If-gUR" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="7id-li-IXL"/>
|
||||
|
@ -470,11 +471,14 @@
|
|||
<outlet property="distanceView" destination="mab-rl-ueg" id="wnH-29-JDU"/>
|
||||
<outlet property="distanceWithLegendLabel" destination="LOZ-cm-r9V" id="Cdx-SJ-kAY"/>
|
||||
<outlet property="downloadBadge" destination="WLn-2O-Ivv" id="f9u-k6-l9u"/>
|
||||
<outlet property="elevationHeight" destination="dVz-cc-LUM" id="kBh-29-6zr"/>
|
||||
<outlet property="elevationImage" destination="FpX-u9-FuR" id="j3J-NH-eKH"/>
|
||||
<outlet property="estimateLabel" destination="EQy-vz-gyi" id="lVV-FW-8AJ"/>
|
||||
<outlet property="estimateLabelTopOffset" destination="fOa-qL-A5d" id="7eJ-Go-MBm"/>
|
||||
<outlet property="goButton" destination="pLD-sZ-ejH" id="Txw-4S-mwR"/>
|
||||
<outlet property="goButtonWidth" destination="ZHw-Ha-INX" id="H3K-lh-Iyx"/>
|
||||
<outlet property="heightProfileContainer" destination="4Xc-Kl-hAm" id="ovY-lT-vrD"/>
|
||||
<outlet property="heightProfileElevation" destination="nD5-wx-7Ui" id="DBa-gs-tSc"/>
|
||||
<outlet property="heightProfileImage" destination="ViI-p6-hUf" id="8b8-rT-Hpc"/>
|
||||
<outlet property="mainButtons" destination="kbJ-If-gUR" id="1sk-bi-6xl"/>
|
||||
<outlet property="mainButtonsHeight" destination="HtR-j8-Qpc" id="eF8-KH-F9n"/>
|
||||
|
@ -507,10 +511,13 @@
|
|||
<outletCollection property="speedDistanceOffset" destination="w4c-fR-znA" id="q0p-e4-syx"/>
|
||||
<outletCollection property="heightProfileContainerVerticalOrientation" destination="mac-YL-Cyx" id="L7C-H0-A6R"/>
|
||||
<outletCollection property="heightProfileContainerVerticalOrientation" destination="ZCb-We-WNy" id="uzJ-Eb-Epe"/>
|
||||
<outletCollection property="heightProfileContainerVerticalOrientation" destination="CRC-g9-WLM" id="Zr9-y7-E9U"/>
|
||||
<outletCollection property="heightProfileContainerVerticalOrientation" destination="h5a-LJ-T8H" id="89A-IH-XBE"/>
|
||||
</connections>
|
||||
</view>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="ic_elevation" width="10" height="12"/>
|
||||
<image name="ic_menu" width="48" height="48"/>
|
||||
<image name="ic_menu_bookmark_list" width="48" height="48"/>
|
||||
<image name="ic_menu_point_to_point" width="48" height="48"/>
|
||||
|
|
|
@ -240,8 +240,7 @@ extern NSString * const kAlohalyticsTapEventKey;
|
|||
{
|
||||
if (!self.searchHidden)
|
||||
self.searchManager.state = MWMSearchManagerStateHidden;
|
||||
else if (MapsAppDelegate.theApp.routingPlaneMode != MWMRoutingPlaneModeNone)
|
||||
[[MWMRouter router] stop];
|
||||
[[MWMRouter router] stop];
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#import "MWMRouter.h"
|
||||
#import "Statistics.h"
|
||||
#import "UIButton+Orientation.h"
|
||||
#import "UIImageView+Coloring.h"
|
||||
|
||||
static CGFloat constexpr kAdditionalHeight = 20.;
|
||||
|
||||
|
@ -33,6 +34,9 @@ static CGFloat constexpr kAdditionalHeight = 20.;
|
|||
@property(weak, nonatomic) IBOutlet NSLayoutConstraint * resultsBoxHeight;
|
||||
@property(weak, nonatomic) IBOutlet NSLayoutConstraint * heightBoxHeight;
|
||||
@property(weak, nonatomic) IBOutlet UIImageView * heightProfileImage;
|
||||
@property(weak, nonatomic) IBOutlet UIView * heightProfileElevation;
|
||||
@property(weak, nonatomic) IBOutlet UIImageView * elevationImage;
|
||||
@property(weak, nonatomic) IBOutlet UILabel * elevationHeight;
|
||||
|
||||
@property(nonatomic) UIImageView * movingCellImage;
|
||||
|
||||
|
@ -57,6 +61,8 @@ static CGFloat constexpr kAdditionalHeight = 20.;
|
|||
[self setupProgresses];
|
||||
|
||||
[self.backButton matchInterfaceOrientation];
|
||||
|
||||
self.elevationImage.mwm_coloring = MWMImageColoringBlue;
|
||||
}
|
||||
|
||||
- (void)setupProgresses
|
||||
|
@ -111,6 +117,7 @@ static CGFloat constexpr kAdditionalHeight = 20.;
|
|||
self.statusBox.hidden = YES;
|
||||
self.resultsBox.hidden = YES;
|
||||
self.heightBox.hidden = YES;
|
||||
self.heightProfileElevation.hidden = YES;
|
||||
self.planningBox.hidden = YES;
|
||||
self.errorBox.hidden = YES;
|
||||
}
|
||||
|
@ -123,6 +130,7 @@ static CGFloat constexpr kAdditionalHeight = 20.;
|
|||
self.statusBox.hidden = NO;
|
||||
self.resultsBox.hidden = YES;
|
||||
self.heightBox.hidden = YES;
|
||||
self.heightProfileElevation.hidden = YES;
|
||||
self.errorBox.hidden = YES;
|
||||
self.planningBox.hidden = NO;
|
||||
[self reloadData];
|
||||
|
@ -138,6 +146,7 @@ static CGFloat constexpr kAdditionalHeight = 20.;
|
|||
self.planningBox.hidden = YES;
|
||||
self.resultsBox.hidden = YES;
|
||||
self.heightBox.hidden = YES;
|
||||
self.heightProfileElevation.hidden = YES;
|
||||
self.errorBox.hidden = NO;
|
||||
if (IPAD)
|
||||
[self iPadNotReady];
|
||||
|
@ -151,7 +160,9 @@ static CGFloat constexpr kAdditionalHeight = 20.;
|
|||
self.planningBox.hidden = YES;
|
||||
self.errorBox.hidden = YES;
|
||||
self.resultsBox.hidden = NO;
|
||||
self.heightBox.hidden = ![MWMRouter hasRouteAltitude];
|
||||
BOOL const hasAltitude = [MWMRouter hasRouteAltitude];
|
||||
self.heightBox.hidden = !hasAltitude;
|
||||
self.heightProfileElevation.hidden = !hasAltitude;
|
||||
if (IPAD)
|
||||
[self iPadReady];
|
||||
}
|
||||
|
@ -183,8 +194,9 @@ static CGFloat constexpr kAdditionalHeight = 20.;
|
|||
return;
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[[MWMRouter router] routeAltitudeImageForSize:self.heightProfileImage.frame.size
|
||||
completion:^(UIImage * image) {
|
||||
completion:^(UIImage * image, NSString * altitudeElevation) {
|
||||
self.heightProfileImage.image = image;
|
||||
self.elevationHeight.text = altitudeElevation;
|
||||
}];
|
||||
});
|
||||
}
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="10117" systemVersion="15G1004" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES">
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="11201" systemVersion="15G1004" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11161"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="MWMNavigationDashboardManager">
|
||||
|
@ -16,10 +17,8 @@
|
|||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="WqK-Yb-PmP" customClass="SolidTouchView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="140"/>
|
||||
<subviews>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="wpf-tw-Coz" userLabel="Back">
|
||||
<rect key="frame" x="0.0" y="0.0" width="44" height="44"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="44" id="ELC-D6-uQM"/>
|
||||
<constraint firstAttribute="width" constant="44" id="e40-iL-uvR"/>
|
||||
|
@ -30,34 +29,30 @@
|
|||
</connections>
|
||||
</button>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="oQc-l8-sZH" userLabel="Buttons Box">
|
||||
<rect key="frame" x="81" y="0.0" width="158" height="44"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="cZF-Ha-2tB">
|
||||
<rect key="frame" x="6" y="3" width="38" height="38"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="38" id="m6k-uU-yOl"/>
|
||||
<constraint firstAttribute="height" constant="38" id="mp7-b4-xot"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="FuO-c6-y9C" userLabel="Bicycle">
|
||||
<rect key="frame" x="60" y="3" width="38" height="38"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="38" id="9fe-fw-05J"/>
|
||||
<constraint firstAttribute="height" constant="38" id="gbm-NL-zgv"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="6D3-QF-6wm">
|
||||
<rect key="frame" x="114" y="3" width="38" height="38"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="38" id="815-LJ-2tk"/>
|
||||
<constraint firstAttribute="height" constant="38" id="hXi-E7-GUb"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="FuO-c6-y9C" firstAttribute="centerY" secondItem="oQc-l8-sZH" secondAttribute="centerY" id="1De-4s-V8t"/>
|
||||
<constraint firstItem="6D3-QF-6wm" firstAttribute="leading" secondItem="FuO-c6-y9C" secondAttribute="trailing" constant="16" id="91z-iC-oKp"/>
|
||||
|
@ -70,21 +65,18 @@
|
|||
</constraints>
|
||||
</view>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="ic_arrow_up_and_down" translatesAutoresizingMaskIntoConstraints="NO" id="y8P-JL-riK">
|
||||
<rect key="frame" x="292" y="18" width="13" height="8"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="13" id="LtD-Tz-US7"/>
|
||||
<constraint firstAttribute="height" constant="8" id="uez-1b-JG5"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="0YR-3a-ucN">
|
||||
<rect key="frame" x="276" y="0.0" width="44" height="44"/>
|
||||
<connections>
|
||||
<action selector="extendTap" destination="aNH-vh-DPz" eventType="touchUpInside" id="oYh-e3-3Ln"/>
|
||||
</connections>
|
||||
</button>
|
||||
<collectionView multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="none" translatesAutoresizingMaskIntoConstraints="NO" id="DrK-vI-WkO">
|
||||
<rect key="frame" x="8" y="48" width="304" height="80"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="80" id="3R7-i6-rG1"/>
|
||||
</constraints>
|
||||
|
@ -99,7 +91,7 @@
|
|||
</connections>
|
||||
</collectionView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="0.12156862745098039" green="0.59999999999999998" blue="0.32156862745098036" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<color key="backgroundColor" red="0.12156862745098039" green="0.59999999999999998" blue="0.32156862745098036" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="140" id="2SX-TZ-tS3"/>
|
||||
<constraint firstItem="0YR-3a-ucN" firstAttribute="top" secondItem="WqK-Yb-PmP" secondAttribute="top" id="DyS-8t-eoF"/>
|
||||
|
@ -121,7 +113,7 @@
|
|||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="WqK-Yb-PmP" secondAttribute="trailing" id="hui-oa-rbV"/>
|
||||
<constraint firstItem="WqK-Yb-PmP" firstAttribute="leading" secondItem="aNH-vh-DPz" secondAttribute="leading" id="rQB-KG-9Kg"/>
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="10117" systemVersion="15G1004" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES">
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="11201" systemVersion="15G1004" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11161"/>
|
||||
<capability name="Aspect ratio constraints" minToolsVersion="5.1"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<customFonts key="customFonts">
|
||||
<mutableArray key="HelveticaNeue.ttc">
|
||||
<array key="HelveticaNeue.ttc">
|
||||
<string>HelveticaNeue-Medium</string>
|
||||
</mutableArray>
|
||||
</array>
|
||||
</customFonts>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="MWMNavigationDashboardManager">
|
||||
|
@ -22,10 +23,8 @@
|
|||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="3s2-BV-X5i" customClass="SolidTouchView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="140"/>
|
||||
<subviews>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="a4n-5I-PN3" userLabel="Back">
|
||||
<rect key="frame" x="0.0" y="0.0" width="44" height="44"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="44" id="huq-Vr-EM5"/>
|
||||
<constraint firstAttribute="width" constant="44" id="zCn-K4-Ax9"/>
|
||||
|
@ -36,31 +35,27 @@
|
|||
</connections>
|
||||
</button>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="sXu-tl-a0m" userLabel="Buttons Box">
|
||||
<rect key="frame" x="75" y="0.0" width="170" height="44"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="jDl-pu-eov">
|
||||
<rect key="frame" x="6" y="0.0" width="44" height="44"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" secondItem="jDl-pu-eov" secondAttribute="height" multiplier="1:1" id="o1x-sd-13z"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="yiM-fM-sSS" userLabel="Bicycle">
|
||||
<rect key="frame" x="66" y="0.0" width="44" height="44"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" secondItem="yiM-fM-sSS" secondAttribute="height" multiplier="1:1" id="rnk-51-Cjg"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="VhE-hA-Leo">
|
||||
<rect key="frame" x="126" y="3" width="38" height="38"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" secondItem="VhE-hA-Leo" secondAttribute="height" multiplier="1:1" id="V4H-0m-WCy"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="jDl-pu-eov" firstAttribute="leading" secondItem="sXu-tl-a0m" secondAttribute="leading" constant="6" id="4B3-wd-Hli"/>
|
||||
<constraint firstItem="VhE-hA-Leo" firstAttribute="leading" secondItem="yiM-fM-sSS" secondAttribute="trailing" constant="16" id="5aG-G0-kVn"/>
|
||||
|
@ -75,8 +70,7 @@
|
|||
</constraints>
|
||||
</view>
|
||||
<collectionView multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="none" translatesAutoresizingMaskIntoConstraints="NO" id="TC0-58-PO9">
|
||||
<rect key="frame" x="8" y="48" width="304" height="80"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="80" id="exN-o8-Rx8"/>
|
||||
</constraints>
|
||||
|
@ -96,7 +90,7 @@
|
|||
</connections>
|
||||
</collectionView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="0.1215686275" green="0.59999999999999998" blue="0.32156862749999998" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<color key="backgroundColor" red="0.1215686275" green="0.59999999999999998" blue="0.32156862749999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="sXu-tl-a0m" firstAttribute="bottom" secondItem="a4n-5I-PN3" secondAttribute="bottom" id="4NN-cC-Tsg"/>
|
||||
<constraint firstAttribute="height" constant="140" id="7e9-gc-Y07"/>
|
||||
|
@ -113,15 +107,12 @@
|
|||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="87p-Qg-8f3" userLabel="Status Box">
|
||||
<rect key="frame" x="0.0" y="176" width="320" height="64"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="tdV-a8-fmG" userLabel="Planning Box">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="64"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Planning..." lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="14" translatesAutoresizingMaskIntoConstraints="NO" id="a7v-h1-j52">
|
||||
<rect key="frame" x="120" y="22" width="80" height="20"/>
|
||||
<fontDescription key="fontDescription" name="HelveticaNeue" family="Helvetica Neue" pointSize="17"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.26000000000000001" colorSpace="calibratedRGB"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.26000000000000001" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="localizedText" value="p2p_planning"/>
|
||||
|
@ -130,19 +121,17 @@
|
|||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="a7v-h1-j52" firstAttribute="centerX" secondItem="tdV-a8-fmG" secondAttribute="centerX" id="L9h-b7-iGd"/>
|
||||
<constraint firstItem="a7v-h1-j52" firstAttribute="centerY" secondItem="tdV-a8-fmG" secondAttribute="centerY" id="PGc-Ph-A2k"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="QEP-6s-YTM" userLabel="Error Box">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="64"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Planning..." lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="14" translatesAutoresizingMaskIntoConstraints="NO" id="VNi-4g-9gz" userLabel="Error">
|
||||
<rect key="frame" x="120" y="22" width="80" height="20"/>
|
||||
<fontDescription key="fontDescription" name="HelveticaNeue" family="Helvetica Neue" pointSize="17"/>
|
||||
<color key="textColor" red="0.95686274510000002" green="0.26274509800000001" blue="0.21176470589999999" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<color key="textColor" red="0.95686274510000002" green="0.26274509800000001" blue="0.21176470589999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="localizedText" value="routing_planning_error"/>
|
||||
|
@ -151,19 +140,17 @@
|
|||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="VNi-4g-9gz" firstAttribute="centerY" secondItem="QEP-6s-YTM" secondAttribute="centerY" id="bfa-sc-ifi"/>
|
||||
<constraint firstItem="VNi-4g-9gz" firstAttribute="centerX" secondItem="QEP-6s-YTM" secondAttribute="centerX" id="iKJ-3u-Al9"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Rqr-bu-crx" userLabel="Results Box">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="64"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="results" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zml-eW-DsI">
|
||||
<rect key="frame" x="16" y="14" width="288" height="20"/>
|
||||
<fontDescription key="fontDescription" name="HelveticaNeue" family="Helvetica Neue" pointSize="17"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.54000000000000004" colorSpace="calibratedRGB"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.54000000000000004" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="colorName" value="blackSecondaryText"/>
|
||||
|
@ -171,38 +158,63 @@
|
|||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Arrive at 12:24" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="oec-Ee-6ha">
|
||||
<rect key="frame" x="16" y="38" width="288" height="17"/>
|
||||
<fontDescription key="fontDescription" name="HelveticaNeue-Medium" family="Helvetica Neue" pointSize="14"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.54000000000000004" colorSpace="calibratedRGB"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.54000000000000004" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="colorName" value="blackSecondaryText"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="medium14"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rXP-rM-9cx">
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="ic_elevation" translatesAutoresizingMaskIntoConstraints="NO" id="Ac5-gf-3tf">
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="10" id="R4J-Uu-52U"/>
|
||||
<constraint firstAttribute="height" constant="12" id="v5V-2M-Fnx"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="260" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="JtS-om-arD">
|
||||
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="colorName" value="linkBlue"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="medium14"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstItem="Ac5-gf-3tf" firstAttribute="leading" secondItem="rXP-rM-9cx" secondAttribute="leading" id="2Df-WK-py6"/>
|
||||
<constraint firstAttribute="trailing" secondItem="JtS-om-arD" secondAttribute="trailing" id="CK8-gu-qaf"/>
|
||||
<constraint firstAttribute="bottom" secondItem="Ac5-gf-3tf" secondAttribute="bottom" id="ULt-mY-leX"/>
|
||||
<constraint firstItem="JtS-om-arD" firstAttribute="centerY" secondItem="Ac5-gf-3tf" secondAttribute="centerY" id="mrf-cl-Rte"/>
|
||||
<constraint firstItem="Ac5-gf-3tf" firstAttribute="top" secondItem="rXP-rM-9cx" secondAttribute="top" id="pUr-w4-lnd"/>
|
||||
<constraint firstItem="JtS-om-arD" firstAttribute="leading" secondItem="Ac5-gf-3tf" secondAttribute="trailing" constant="4" id="qQ6-yw-n2d"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="oec-Ee-6ha" firstAttribute="leading" secondItem="zml-eW-DsI" secondAttribute="leading" id="Am2-25-Zn9"/>
|
||||
<constraint firstAttribute="trailing" secondItem="zml-eW-DsI" secondAttribute="trailing" constant="16" id="DRW-GJ-PG9"/>
|
||||
<constraint firstItem="rXP-rM-9cx" firstAttribute="leading" secondItem="zml-eW-DsI" secondAttribute="trailing" constant="4" id="BCS-il-tys"/>
|
||||
<constraint firstItem="rXP-rM-9cx" firstAttribute="centerY" secondItem="zml-eW-DsI" secondAttribute="centerY" id="PEx-MA-POC"/>
|
||||
<constraint firstItem="zml-eW-DsI" firstAttribute="leading" secondItem="Rqr-bu-crx" secondAttribute="leading" constant="16" id="QNo-az-LlD"/>
|
||||
<constraint firstAttribute="height" constant="64" id="bHW-iR-rAA"/>
|
||||
<constraint firstItem="zml-eW-DsI" firstAttribute="top" secondItem="Rqr-bu-crx" secondAttribute="top" constant="14" id="c1k-EY-nwQ"/>
|
||||
<constraint firstItem="oec-Ee-6ha" firstAttribute="top" secondItem="zml-eW-DsI" secondAttribute="bottom" constant="4" id="lV9-S0-yy4"/>
|
||||
<constraint firstItem="oec-Ee-6ha" firstAttribute="trailing" secondItem="zml-eW-DsI" secondAttribute="trailing" id="rfO-2Z-g12"/>
|
||||
<constraint firstAttribute="trailing" secondItem="rXP-rM-9cx" secondAttribute="trailing" constant="16" id="xUV-qS-bQc"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="6iM-A6-4JK" userLabel="Height Box">
|
||||
<rect key="frame" x="0.0" y="64" width="320" height="68"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Apa-nH-KWJ">
|
||||
<rect key="frame" x="16" y="14" width="288" height="40"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="zhI-92-6JG">
|
||||
<rect key="frame" x="0.0" y="0.0" width="288" height="40"/>
|
||||
</imageView>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="zhI-92-6JG"/>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="zhI-92-6JG" firstAttribute="top" secondItem="Apa-nH-KWJ" secondAttribute="top" id="7CP-bg-Id3"/>
|
||||
<constraint firstAttribute="bottom" secondItem="zhI-92-6JG" secondAttribute="bottom" id="LeB-Rl-mPU"/>
|
||||
|
@ -211,7 +223,7 @@
|
|||
</constraints>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="bottom" secondItem="Apa-nH-KWJ" secondAttribute="bottom" constant="14" id="8P4-RM-XZb"/>
|
||||
<constraint firstAttribute="height" constant="68" id="Fl4-Tb-OER"/>
|
||||
|
@ -221,7 +233,7 @@
|
|||
</constraints>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="tdV-a8-fmG" firstAttribute="leading" secondItem="Rqr-bu-crx" secondAttribute="leading" id="1s7-bh-347"/>
|
||||
<constraint firstAttribute="height" constant="64" id="4qT-ha-p75"/>
|
||||
|
@ -241,7 +253,7 @@
|
|||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="color" keyPath="layer.borderUIColor">
|
||||
<color key="value" red="0.0" green="0.0" blue="0.0" alpha="0.12" colorSpace="calibratedRGB"/>
|
||||
<color key="value" red="0.0" green="0.0" blue="0.0" alpha="0.12" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.borderWidth">
|
||||
<integer key="value" value="1"/>
|
||||
|
@ -250,15 +262,13 @@
|
|||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="gcR-zj-b7P">
|
||||
<rect key="frame" x="0.0" y="607" width="320" height="48"/>
|
||||
<subviews>
|
||||
<button hidden="YES" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="tailTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="4IJ-pR-Ztp" userLabel="Go" customClass="MWMStartButton">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="48"/>
|
||||
<accessibility key="accessibilityConfiguration" identifier="goButton"/>
|
||||
<inset key="contentEdgeInsets" minX="8" minY="0.0" maxX="8" maxY="0.0"/>
|
||||
<state key="normal" title="Start"/>
|
||||
<state key="selected">
|
||||
<color key="titleColor" red="0.0" green="0.0" blue="0.0" alpha="0.26000000000000001" colorSpace="calibratedRGB"/>
|
||||
<color key="titleColor" red="0.0" green="0.0" blue="0.0" alpha="0.26000000000000001" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</state>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="regular17"/>
|
||||
|
@ -272,7 +282,7 @@
|
|||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="0.80000000000000004" colorSpace="calibratedRGB"/>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="48" id="5GN-4g-vV1"/>
|
||||
<constraint firstAttribute="trailing" secondItem="4IJ-pR-Ztp" secondAttribute="trailing" id="ML1-Xc-dlH"/>
|
||||
|
@ -282,7 +292,7 @@
|
|||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="color" keyPath="layer.borderUIColor">
|
||||
<color key="value" red="0.0" green="0.0" blue="0.0" alpha="0.12" colorSpace="calibratedRGB"/>
|
||||
<color key="value" red="0.0" green="0.0" blue="0.0" alpha="0.12" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.borderWidth">
|
||||
<integer key="value" value="1"/>
|
||||
|
@ -291,7 +301,7 @@
|
|||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="0.96078431372549022" green="0.96078431372549022" blue="0.96078431372549022" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<color key="backgroundColor" red="0.96078431372549022" green="0.96078431372549022" blue="0.96078431372549022" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="gcR-zj-b7P" firstAttribute="leading" secondItem="u2u-Vb-2eH" secondAttribute="leading" id="1RD-kG-W2O"/>
|
||||
<constraint firstAttribute="trailing" secondItem="87p-Qg-8f3" secondAttribute="trailing" id="5wh-lx-rUz"/>
|
||||
|
@ -310,7 +320,7 @@
|
|||
<integer key="value" value="2"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="color" keyPath="layer.shadowUIColor">
|
||||
<color key="value" white="0.0" alpha="0.23999999999999999" colorSpace="calibratedWhite"/>
|
||||
<color key="value" red="0.0" green="0.0" blue="0.0" alpha="0.23999999999999999" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.shadowOpacity">
|
||||
<integer key="value" value="1"/>
|
||||
|
@ -326,10 +336,13 @@
|
|||
<outlet property="bicycle" destination="yiM-fM-sSS" id="pMf-6J-9Gd"/>
|
||||
<outlet property="collectionView" destination="TC0-58-PO9" id="Onv-Ld-JPp"/>
|
||||
<outlet property="contentView" destination="3s2-BV-X5i" id="mp7-Qq-drU"/>
|
||||
<outlet property="elevationHeight" destination="JtS-om-arD" id="Dah-Ui-zNW"/>
|
||||
<outlet property="elevationImage" destination="Ac5-gf-3tf" id="Gka-BR-4ZM"/>
|
||||
<outlet property="errorBox" destination="QEP-6s-YTM" id="kH0-yP-1Gk"/>
|
||||
<outlet property="goButton" destination="4IJ-pR-Ztp" id="48a-At-Nqq"/>
|
||||
<outlet property="heightBox" destination="6iM-A6-4JK" id="cav-Cj-Aqr"/>
|
||||
<outlet property="heightBoxHeight" destination="Fl4-Tb-OER" id="MEr-ms-WF4"/>
|
||||
<outlet property="heightProfileElevation" destination="rXP-rM-9cx" id="9ME-YW-7qO"/>
|
||||
<outlet property="heightProfileImage" destination="zhI-92-6JG" id="BAQ-2W-WFu"/>
|
||||
<outlet property="layout" destination="YwC-vB-4LF" id="Hta-la-OdY"/>
|
||||
<outlet property="pedestrian" destination="VhE-hA-Leo" id="R3O-th-Jw0"/>
|
||||
|
@ -345,6 +358,7 @@
|
|||
</view>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="ic_elevation" width="10" height="12"/>
|
||||
<image name="ic_nav_bar_back" width="14" height="22"/>
|
||||
</resources>
|
||||
</document>
|
||||
|
|
|
@ -1,3 +1,2 @@
|
|||
typedef void (^TMWMVoidBlock)();
|
||||
typedef void (^MWMStringBlock)(NSString *);
|
||||
typedef void (^MWMImageBlock)(UIImage *);
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
|
||||
#include "routing/router.hpp"
|
||||
|
||||
typedef void (^MWMImageHeightBlock)(UIImage *, NSString *);
|
||||
|
||||
@interface MWMRouter : NSObject
|
||||
|
||||
+ (MWMRouter *)router;
|
||||
|
@ -21,7 +23,7 @@
|
|||
- (void)rebuildWithBestRouter:(BOOL)bestRouter;
|
||||
- (void)start;
|
||||
- (void)stop;
|
||||
- (void)routeAltitudeImageForSize:(CGSize)size completion:(MWMImageBlock)block;
|
||||
- (void)routeAltitudeImageForSize:(CGSize)size completion:(MWMImageHeightBlock)block;
|
||||
|
||||
- (instancetype)init __attribute__((unavailable("call +router instead")));
|
||||
- (instancetype)copy __attribute__((unavailable("call +router instead")));
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#include "Framework.h"
|
||||
|
||||
#include "platform/local_country_file_utils.hpp"
|
||||
#include "platform/measurement_utils.hpp"
|
||||
|
||||
using namespace routing;
|
||||
|
||||
|
@ -41,6 +42,7 @@ bool isMarkerPoint(MWMRoutePoint const & point) { return point.IsValid() && !poi
|
|||
@property(nonatomic, readwrite) MWMRoutePoint finishPoint;
|
||||
|
||||
@property(nonatomic) NSMutableDictionary<NSValue *, NSData *> * altitudeImagesData;
|
||||
@property(nonatomic) NSString * altitudeElevation;
|
||||
@property(nonatomic) dispatch_queue_t renderAltitudeImagesQueue;
|
||||
|
||||
@end
|
||||
|
@ -270,7 +272,7 @@ bool isMarkerPoint(MWMRoutePoint const & point) { return point.IsValid() && !poi
|
|||
[[MWMNavigationDashboardManager manager] updateFollowingInfo:info];
|
||||
}
|
||||
|
||||
- (void)routeAltitudeImageForSize:(CGSize)size completion:(MWMImageBlock)block
|
||||
- (void)routeAltitudeImageForSize:(CGSize)size completion:(MWMImageHeightBlock)block
|
||||
{
|
||||
dispatch_async(self.renderAltitudeImagesQueue, ^{
|
||||
if (![MWMRouter hasRouteAltitude])
|
||||
|
@ -300,13 +302,17 @@ bool isMarkerPoint(MWMRoutePoint const & point) { return point.IsValid() && !poi
|
|||
return;
|
||||
imageData = [NSData dataWithBytes:imageRGBAData.data() length:imageRGBAData.size()];
|
||||
self.altitudeImagesData[sizeValue] = imageData;
|
||||
|
||||
string heightString;
|
||||
measurement_utils::FormatDistance(maxRouteAltitude - minRouteAltitude, heightString);
|
||||
self.altitudeElevation = @(heightString.c_str());
|
||||
}
|
||||
|
||||
UIImage * altitudeImage = [UIImage imageWithRGBAData:imageData width:width height:height];
|
||||
if (altitudeImage)
|
||||
{
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
block(altitudeImage);
|
||||
block(altitudeImage, self.altitudeElevation);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
@ -316,6 +322,7 @@ bool isMarkerPoint(MWMRoutePoint const & point) { return point.IsValid() && !poi
|
|||
{
|
||||
dispatch_async(self.renderAltitudeImagesQueue, ^{
|
||||
[self.altitudeImagesData removeAllObjects];
|
||||
self.altitudeElevation = nil;
|
||||
});
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue