forked from organicmaps/organicmaps
[iOS] Added Guide Description
This commit is contained in:
parent
507dd6ba18
commit
227184829c
7 changed files with 290 additions and 0 deletions
|
@ -15,7 +15,9 @@ NS_SWIFT_NAME(BookmarkGroup)
|
|||
|
||||
@property(nonatomic, readonly) MWMMarkGroupID categoryId;
|
||||
@property(nonatomic, copy) NSString *title;
|
||||
@property(nonatomic, readonly, nullable) NSURL *photoUrl;
|
||||
@property(nonatomic, readonly) NSString *author;
|
||||
@property(nonatomic, readonly, nullable) NSString *authorIconPath;
|
||||
@property(nonatomic, readonly) NSString *annotation;
|
||||
@property(nonatomic, copy) NSString *detailedAnnotation;
|
||||
@property(nonatomic, readonly) NSInteger bookmarksCount;
|
||||
|
|
|
@ -24,6 +24,10 @@
|
|||
return [self.manager getCategoryName:self.categoryId];
|
||||
}
|
||||
|
||||
- (NSURL *)photoUrl {
|
||||
return [self.manager getCategoryPhotoUrl:self.categoryId];
|
||||
}
|
||||
|
||||
- (void)setTitle:(NSString *)title {
|
||||
[self.manager setCategory:self.categoryId name:title];
|
||||
}
|
||||
|
@ -32,6 +36,15 @@
|
|||
return [self.manager getCategoryAuthorName:self.categoryId];
|
||||
}
|
||||
|
||||
- (NSString *)authorIconPath {
|
||||
// TODO: (boriskov) fixme
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (NSString *)annotation {
|
||||
return [self.manager getCategoryAnnotation:self.categoryId];
|
||||
}
|
||||
|
||||
- (NSString *)detailedAnnotation {
|
||||
return [self.manager getCategoryDescription:self.categoryId];
|
||||
}
|
||||
|
|
|
@ -35,8 +35,10 @@ NS_SWIFT_NAME(BookmarksManager)
|
|||
- (uint64_t)getCategoryMarksCount:(MWMMarkGroupID)groupId;
|
||||
- (uint64_t)getCategoryTracksCount:(MWMMarkGroupID)groupId;
|
||||
- (MWMBookmarkGroupAccessStatus)getCategoryAccessStatus:(MWMMarkGroupID)groupId;
|
||||
- (NSString *)getCategoryAnnotation:(MWMMarkGroupID)groupId;
|
||||
- (NSString *)getCategoryDescription:(MWMMarkGroupID)groupId;
|
||||
- (NSString *)getCategoryAuthorName:(MWMMarkGroupID)groupId;
|
||||
- (NSURL *)getCategoryPhotoUrl:(MWMMarkGroupID)groupId;
|
||||
|
||||
- (MWMMarkGroupID)createCategoryWithName:(NSString *)name;
|
||||
- (void)setCategory:(MWMMarkGroupID)groupId name:(NSString *)name;
|
||||
|
|
|
@ -350,6 +350,10 @@ static kml::PredefinedColor convertBookmarkColor(MWMBookmarkColor bookmarkColor)
|
|||
}
|
||||
}
|
||||
|
||||
- (NSString *)getCategoryAnnotation:(MWMMarkGroupID)groupId {
|
||||
return @(kml::GetDefaultStr(self.bm.GetCategoryData(groupId).m_annotation).c_str());
|
||||
}
|
||||
|
||||
- (NSString *)getCategoryDescription:(MWMMarkGroupID)groupId
|
||||
{
|
||||
return @(kml::GetDefaultStr(self.bm.GetCategoryData(groupId).m_description).c_str());
|
||||
|
@ -360,6 +364,10 @@ static kml::PredefinedColor convertBookmarkColor(MWMBookmarkColor bookmarkColor)
|
|||
return @(self.bm.GetCategoryData(groupId).m_authorName.c_str());
|
||||
}
|
||||
|
||||
- (NSURL *)getCategoryPhotoUrl:(MWMMarkGroupID)groupId {
|
||||
return [[NSURL alloc] initWithString:@(self.bm.GetCategoryData(groupId).m_imageUrl.c_str())];
|
||||
}
|
||||
|
||||
- (MWMMarkGroupID)createCategoryWithName:(NSString *)name
|
||||
{
|
||||
auto groupId = self.bm.CreateBookmarkCategory(name.UTF8String);
|
||||
|
|
|
@ -0,0 +1,50 @@
|
|||
class GuideDescriptionViewController: MWMViewController {
|
||||
@IBOutlet private var photo: UIImageView!
|
||||
@IBOutlet private var photoViewContainer: UIView!
|
||||
@IBOutlet private var photoActivityIndicator: UIActivityIndicatorView!
|
||||
@IBOutlet private var titleLabel: UILabel!
|
||||
@IBOutlet private var subtitleLabel: UILabel!
|
||||
@IBOutlet private var providerIcon: UIImageView!
|
||||
@IBOutlet private var providerLabel: UILabel!
|
||||
@IBOutlet private var descriptionText: UITextView!
|
||||
|
||||
private let category: BookmarkGroup
|
||||
|
||||
init(category: BookmarkGroup) {
|
||||
self.category = category
|
||||
super.init(nibName: nil, bundle: nil)
|
||||
}
|
||||
|
||||
required init?(coder: NSCoder) {
|
||||
fatalError("init(coder:) has not been implemented")
|
||||
}
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
||||
title = category.title
|
||||
titleLabel.text = category.title
|
||||
providerLabel.text = category.author
|
||||
subtitleLabel.attributedText = NSMutableAttributedString(htmlString: category.annotation, baseFont: UIFont.regular16())
|
||||
descriptionText.attributedText = NSMutableAttributedString(htmlString: category.detailedAnnotation, baseFont: UIFont.regular16())
|
||||
|
||||
if FrameworkHelper.isNetworkConnected(), let photoUrl = category.photoUrl {
|
||||
photo.wi_setImage(with: photoUrl, transitionDuration: 0) { [weak self] _, error in
|
||||
if error != nil {
|
||||
self?.photoViewContainer.isHidden = true
|
||||
}
|
||||
self?.photoActivityIndicator.stopAnimating()
|
||||
}
|
||||
} else {
|
||||
photoViewContainer.isHidden = true
|
||||
photoActivityIndicator.stopAnimating()
|
||||
}
|
||||
|
||||
if let authorIconPath = category.authorIconPath,
|
||||
let authorImage = UIImage(contentsOfFile: authorIconPath) {
|
||||
providerIcon.image = authorImage
|
||||
} else {
|
||||
providerIcon.isHidden = true
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,199 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="15705" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
|
||||
<device id="retina6_1" orientation="portrait" appearance="light"/>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15706"/>
|
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="GuideDescriptionViewController" customModule="maps_me" customModuleProvider="target">
|
||||
<connections>
|
||||
<outlet property="descriptionText" destination="yHI-OK-I24" id="Dhg-jb-wxa"/>
|
||||
<outlet property="photo" destination="OZ0-EB-ayO" id="6Zx-Ve-8dW"/>
|
||||
<outlet property="photoActivityIndicator" destination="Bgr-g1-5lE" id="BnS-zE-hqq"/>
|
||||
<outlet property="photoViewContainer" destination="vQ9-Cg-9CP" id="o1E-7m-xkD"/>
|
||||
<outlet property="providerIcon" destination="fwF-di-rja" id="rHe-gz-cs9"/>
|
||||
<outlet property="providerLabel" destination="CDJ-Rz-hR5" id="6hu-4R-Byi"/>
|
||||
<outlet property="subtitleLabel" destination="LbD-yc-cal" id="ZYn-UM-S94"/>
|
||||
<outlet property="titleLabel" destination="hh3-UD-FXJ" id="cNq-wZ-7uz"/>
|
||||
<outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
|
||||
</connections>
|
||||
</placeholder>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rLR-PV-Ke6">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||
<subviews>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="1" translatesAutoresizingMaskIntoConstraints="NO" id="nvv-RB-whK">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="890"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="vQ9-Cg-9CP">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="180"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="OZ0-EB-ayO">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="180"/>
|
||||
</imageView>
|
||||
<activityIndicatorView opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" hidesWhenStopped="YES" animating="YES" style="gray" translatesAutoresizingMaskIntoConstraints="NO" id="Bgr-g1-5lE">
|
||||
<rect key="frame" x="197" y="80" width="20" height="20"/>
|
||||
</activityIndicatorView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
|
||||
<constraints>
|
||||
<constraint firstItem="OZ0-EB-ayO" firstAttribute="leading" secondItem="vQ9-Cg-9CP" secondAttribute="leading" id="503-Ki-zlR"/>
|
||||
<constraint firstAttribute="bottom" secondItem="OZ0-EB-ayO" secondAttribute="bottom" id="QHV-d9-Kav"/>
|
||||
<constraint firstAttribute="height" constant="180" id="UZ6-CN-dPm"/>
|
||||
<constraint firstItem="Bgr-g1-5lE" firstAttribute="centerX" secondItem="vQ9-Cg-9CP" secondAttribute="centerX" id="iJl-ss-jMs"/>
|
||||
<constraint firstItem="OZ0-EB-ayO" firstAttribute="top" secondItem="vQ9-Cg-9CP" secondAttribute="top" id="mQ0-FV-6s0"/>
|
||||
<constraint firstItem="Bgr-g1-5lE" firstAttribute="centerY" secondItem="vQ9-Cg-9CP" secondAttribute="centerY" id="poe-O6-eBc"/>
|
||||
<constraint firstAttribute="trailing" secondItem="OZ0-EB-ayO" secondAttribute="trailing" id="sqZ-zm-vKa"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Y73-5Z-ypa">
|
||||
<rect key="frame" x="0.0" y="181" width="414" height="97"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="249" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hh3-UD-FXJ">
|
||||
<rect key="frame" x="16" y="28" width="382" height="20.5"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="styleName" value="bold28:blackPrimaryText"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="LbD-yc-cal">
|
||||
<rect key="frame" x="16" y="56.5" width="382" height="20.5"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="styleName" value="regular16:blackPrimaryText"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="hh3-UD-FXJ" secondAttribute="trailing" constant="16" id="33S-zf-SgW"/>
|
||||
<constraint firstAttribute="trailing" secondItem="LbD-yc-cal" secondAttribute="trailing" constant="16" id="FXi-lH-haB"/>
|
||||
<constraint firstItem="hh3-UD-FXJ" firstAttribute="top" secondItem="Y73-5Z-ypa" secondAttribute="top" constant="28" id="Meh-Du-GBq"/>
|
||||
<constraint firstAttribute="bottom" secondItem="LbD-yc-cal" secondAttribute="bottom" constant="20" id="eu8-JJ-CuV"/>
|
||||
<constraint firstItem="LbD-yc-cal" firstAttribute="leading" secondItem="Y73-5Z-ypa" secondAttribute="leading" constant="16" id="ooJ-xp-PFq"/>
|
||||
<constraint firstItem="hh3-UD-FXJ" firstAttribute="leading" secondItem="Y73-5Z-ypa" secondAttribute="leading" constant="16" id="x2s-nc-dOt"/>
|
||||
<constraint firstItem="LbD-yc-cal" firstAttribute="top" secondItem="hh3-UD-FXJ" secondAttribute="bottom" constant="8" id="ymw-Mn-Fe0"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="styleName" value="bold28:blackPrimaryText"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="mTg-8a-cqj">
|
||||
<rect key="frame" x="0.0" y="279" width="414" height="84"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="QJn-rO-FZg">
|
||||
<rect key="frame" x="16" y="0.0" width="382" height="1"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="1" id="ezx-6w-ZyU"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="styleName" value="Divider"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" spacing="16" translatesAutoresizingMaskIntoConstraints="NO" id="12S-Lx-MCj">
|
||||
<rect key="frame" x="16" y="12" width="382" height="60"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="fwF-di-rja">
|
||||
<rect key="frame" x="0.0" y="0.0" width="75" height="60"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="60" id="8Cz-vk-nEG"/>
|
||||
<constraint firstAttribute="width" constant="75" id="rxH-g5-Da1"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="CDJ-Rz-hR5">
|
||||
<rect key="frame" x="91" y="0.0" width="291" height="60"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="styleName" value="regular16:blackSecondaryText"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
</subviews>
|
||||
</stackView>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="SjC-kq-PvM">
|
||||
<rect key="frame" x="16" y="83" width="382" height="1"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="1" id="0qk-Wc-k7F"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="styleName" value="Divider"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="12S-Lx-MCj" secondAttribute="trailing" constant="16" id="55h-DV-gQu"/>
|
||||
<constraint firstItem="QJn-rO-FZg" firstAttribute="top" secondItem="mTg-8a-cqj" secondAttribute="top" id="Fei-fA-xca"/>
|
||||
<constraint firstItem="SjC-kq-PvM" firstAttribute="leading" secondItem="mTg-8a-cqj" secondAttribute="leading" constant="16" id="GFs-Fs-fFc"/>
|
||||
<constraint firstItem="QJn-rO-FZg" firstAttribute="leading" secondItem="mTg-8a-cqj" secondAttribute="leading" constant="16" id="HCg-qc-nRx"/>
|
||||
<constraint firstAttribute="trailing" secondItem="SjC-kq-PvM" secondAttribute="trailing" constant="16" id="ZTc-et-gze"/>
|
||||
<constraint firstAttribute="trailing" secondItem="QJn-rO-FZg" secondAttribute="trailing" constant="16" id="bhh-Mc-h2g"/>
|
||||
<constraint firstItem="12S-Lx-MCj" firstAttribute="top" secondItem="QJn-rO-FZg" secondAttribute="bottom" constant="11" id="fuT-5c-Zfb"/>
|
||||
<constraint firstAttribute="bottom" secondItem="SjC-kq-PvM" secondAttribute="bottom" id="izq-lF-HqV"/>
|
||||
<constraint firstItem="SjC-kq-PvM" firstAttribute="top" secondItem="12S-Lx-MCj" secondAttribute="bottom" constant="11" id="kjx-7y-3Sa"/>
|
||||
<constraint firstItem="12S-Lx-MCj" firstAttribute="leading" secondItem="mTg-8a-cqj" secondAttribute="leading" constant="16" id="oSW-rQ-KED"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="j0J-od-RtZ">
|
||||
<rect key="frame" x="0.0" y="364" width="414" height="526"/>
|
||||
<subviews>
|
||||
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" scrollEnabled="NO" editable="NO" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="yHI-OK-I24">
|
||||
<rect key="frame" x="16" y="0.0" width="382" height="526"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
|
||||
<string key="text">Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.</string>
|
||||
<color key="textColor" systemColor="labelColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
|
||||
</textView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="bottom" secondItem="yHI-OK-I24" secondAttribute="bottom" id="4ic-a2-qlB"/>
|
||||
<constraint firstAttribute="trailing" secondItem="yHI-OK-I24" secondAttribute="trailing" constant="16" id="97z-gO-IAQ"/>
|
||||
<constraint firstItem="yHI-OK-I24" firstAttribute="leading" secondItem="j0J-od-RtZ" secondAttribute="leading" constant="16" id="jyD-sX-ejV"/>
|
||||
<constraint firstItem="yHI-OK-I24" firstAttribute="top" secondItem="j0J-od-RtZ" secondAttribute="top" id="z7g-nJ-IP4"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</subviews>
|
||||
</stackView>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstAttribute="bottom" secondItem="nvv-RB-whK" secondAttribute="bottom" id="0dk-g3-fBd"/>
|
||||
<constraint firstItem="nvv-RB-whK" firstAttribute="leading" secondItem="rLR-PV-Ke6" secondAttribute="leading" id="D2R-sM-Uur"/>
|
||||
<constraint firstItem="nvv-RB-whK" firstAttribute="centerX" secondItem="rLR-PV-Ke6" secondAttribute="centerX" id="apX-Q1-784"/>
|
||||
<constraint firstItem="nvv-RB-whK" firstAttribute="top" secondItem="rLR-PV-Ke6" secondAttribute="top" id="inG-Di-xvA"/>
|
||||
<constraint firstAttribute="trailing" secondItem="nvv-RB-whK" secondAttribute="trailing" id="tUo-1S-1Wl"/>
|
||||
</constraints>
|
||||
<viewLayoutGuide key="contentLayoutGuide" id="psx-3Q-enJ"/>
|
||||
<viewLayoutGuide key="frameLayoutGuide" id="u3E-ZV-cqZ"/>
|
||||
</scrollView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="bottom" secondItem="rLR-PV-Ke6" secondAttribute="bottom" id="6G8-e2-mF3"/>
|
||||
<constraint firstAttribute="trailing" secondItem="rLR-PV-Ke6" secondAttribute="trailing" id="EAz-aC-07T"/>
|
||||
<constraint firstItem="rLR-PV-Ke6" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="IEh-PI-stC"/>
|
||||
<constraint firstItem="rLR-PV-Ke6" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="NRq-fH-1Xm"/>
|
||||
</constraints>
|
||||
<viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="styleName" value="Background"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
<point key="canvasLocation" x="137.68115942028987" y="122.54464285714285"/>
|
||||
</view>
|
||||
</objects>
|
||||
</document>
|
|
@ -553,6 +553,8 @@
|
|||
9917D17D2396793A00A7E06E /* PaidRoutesSubscriptionCampaign.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9917D17C2396793A00A7E06E /* PaidRoutesSubscriptionCampaign.swift */; };
|
||||
9917D17F2397B1D600A7E06E /* IPadModalPresentationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9917D17E2397B1D600A7E06E /* IPadModalPresentationController.swift */; };
|
||||
991A726C250F666D0075348C /* GuideSharingNameViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 991A726B250F666D0075348C /* GuideSharingNameViewController.swift */; };
|
||||
991A7270250F6C4A0075348C /* GuideDescriptionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 991A726E250F6C4A0075348C /* GuideDescriptionViewController.swift */; };
|
||||
991A7271250F6C4A0075348C /* GuideDescriptionViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 991A726F250F6C4A0075348C /* GuideDescriptionViewController.xib */; };
|
||||
991CE2BF2371D349009EB02A /* ABTestManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 991CE2BA2371D349009EB02A /* ABTestManager.swift */; };
|
||||
991CE2C02371D349009EB02A /* IABTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 991CE2BB2371D349009EB02A /* IABTest.swift */; };
|
||||
991CE2C22371D349009EB02A /* PromoDiscoveryCampaign.swift in Sources */ = {isa = PBXBuildFile; fileRef = 991CE2BE2371D349009EB02A /* PromoDiscoveryCampaign.swift */; };
|
||||
|
@ -1656,6 +1658,8 @@
|
|||
9917D17C2396793A00A7E06E /* PaidRoutesSubscriptionCampaign.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaidRoutesSubscriptionCampaign.swift; sourceTree = "<group>"; };
|
||||
9917D17E2397B1D600A7E06E /* IPadModalPresentationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IPadModalPresentationController.swift; sourceTree = "<group>"; };
|
||||
991A726B250F666D0075348C /* GuideSharingNameViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GuideSharingNameViewController.swift; sourceTree = "<group>"; };
|
||||
991A726E250F6C4A0075348C /* GuideDescriptionViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GuideDescriptionViewController.swift; sourceTree = "<group>"; };
|
||||
991A726F250F6C4A0075348C /* GuideDescriptionViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = GuideDescriptionViewController.xib; sourceTree = "<group>"; };
|
||||
991CE2BA2371D349009EB02A /* ABTestManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ABTestManager.swift; sourceTree = "<group>"; };
|
||||
991CE2BB2371D349009EB02A /* IABTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IABTest.swift; sourceTree = "<group>"; };
|
||||
991CE2BE2371D349009EB02A /* PromoDiscoveryCampaign.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PromoDiscoveryCampaign.swift; sourceTree = "<group>"; };
|
||||
|
@ -3658,6 +3662,15 @@
|
|||
path = TabBar;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
991A726D250F6C320075348C /* GuideDescription */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
991A726E250F6C4A0075348C /* GuideDescriptionViewController.swift */,
|
||||
991A726F250F6C4A0075348C /* GuideDescriptionViewController.xib */,
|
||||
);
|
||||
path = GuideDescription;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
991CE2B92371D349009EB02A /* ABTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
@ -5007,6 +5020,7 @@
|
|||
FA36B8011540388B004560CC /* Bookmarks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
991A726D250F6C320075348C /* GuideDescription */,
|
||||
B32FE73D20D283D600EF7446 /* Catalog */,
|
||||
FA36B80515403A4F004560CC /* BookmarksVC.h */,
|
||||
FA36B80615403A4F004560CC /* BookmarksVC.mm */,
|
||||
|
@ -5296,6 +5310,7 @@
|
|||
4738A8E9239FC526007C0F43 /* AdBannerView.xib in Resources */,
|
||||
344532511F714FD70059FBCC /* UGCAddReviewController.xib in Resources */,
|
||||
3490D2E31CE9DD2500D0B838 /* MWMSideButtonsView.xib in Resources */,
|
||||
991A7271250F6C4A0075348C /* GuideDescriptionViewController.xib in Resources */,
|
||||
346DB82B1E5C4F6700E3123E /* GalleryCell.xib in Resources */,
|
||||
F6E2FE2E1E097BA00083EBEC /* MWMStreetEditorEditTableViewCell.xib in Resources */,
|
||||
47A13CAB24BE881000027D4F /* DatePickerViewController.xib in Resources */,
|
||||
|
@ -5701,6 +5716,7 @@
|
|||
340475531E081A4600C92850 /* MWMCustomFacebookEvents.mm in Sources */,
|
||||
349D1CE41E3F836900A878FD /* UIViewController+Hierarchy.swift in Sources */,
|
||||
CDB4D4E1222D70DF00104869 /* CarPlayMapViewController.swift in Sources */,
|
||||
991A7270250F6C4A0075348C /* GuideDescriptionViewController.swift in Sources */,
|
||||
471AB98923AA8A3500F56D49 /* IDownloaderDataSource.swift in Sources */,
|
||||
F692F3831EA0FAF5001E82EB /* MWMAutoupdateController.mm in Sources */,
|
||||
34BF0CC71C31304A00D097EB /* MWMAuthorizationCommon.mm in Sources */,
|
||||
|
|
Loading…
Add table
Reference in a new issue