Showing
3 changed files
with
379 additions
and
0 deletions
| ... | @@ -33,6 +33,8 @@ | ... | @@ -33,6 +33,8 @@ |
| 33 | A07936762885E9CC00064122 /* UIColorExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = A07936752885E9CC00064122 /* UIColorExtensions.swift */; }; | 33 | A07936762885E9CC00064122 /* UIColorExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = A07936752885E9CC00064122 /* UIColorExtensions.swift */; }; |
| 34 | A079367C2885F2F500064122 /* AnalysisHeaderViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A079367B2885F2F500064122 /* AnalysisHeaderViewCell.swift */; }; | 34 | A079367C2885F2F500064122 /* AnalysisHeaderViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A079367B2885F2F500064122 /* AnalysisHeaderViewCell.swift */; }; |
| 35 | A079367E2885F60A00064122 /* AnalysisHeaderMessageViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A079367D2885F60A00064122 /* AnalysisHeaderMessageViewCell.swift */; }; | 35 | A079367E2885F60A00064122 /* AnalysisHeaderMessageViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A079367D2885F60A00064122 /* AnalysisHeaderMessageViewCell.swift */; }; |
| 36 | + A080CFD628D170A20045A315 /* MapsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A080CFD428D170A20045A315 /* MapsViewController.swift */; }; | ||
| 37 | + A080CFD728D170A20045A315 /* MapsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A080CFD528D170A20045A315 /* MapsViewController.xib */; }; | ||
| 36 | A09DBCAE2888BA8100DD50B0 /* SharingHistoryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A09DBCAD2888BA8100DD50B0 /* SharingHistoryViewController.swift */; }; | 38 | A09DBCAE2888BA8100DD50B0 /* SharingHistoryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A09DBCAD2888BA8100DD50B0 /* SharingHistoryViewController.swift */; }; |
| 37 | E6A77853282933340045BBA8 /* SwiftWarplyFramework.docc in Sources */ = {isa = PBXBuildFile; fileRef = E6A77852282933340045BBA8 /* SwiftWarplyFramework.docc */; }; | 39 | E6A77853282933340045BBA8 /* SwiftWarplyFramework.docc in Sources */ = {isa = PBXBuildFile; fileRef = E6A77852282933340045BBA8 /* SwiftWarplyFramework.docc */; }; |
| 38 | E6A77854282933340045BBA8 /* SwiftWarplyFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A77851282933340045BBA8 /* SwiftWarplyFramework.h */; settings = {ATTRIBUTES = (Public, ); }; }; | 40 | E6A77854282933340045BBA8 /* SwiftWarplyFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A77851282933340045BBA8 /* SwiftWarplyFramework.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| ... | @@ -187,6 +189,8 @@ | ... | @@ -187,6 +189,8 @@ |
| 187 | A07936752885E9CC00064122 /* UIColorExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIColorExtensions.swift; sourceTree = "<group>"; }; | 189 | A07936752885E9CC00064122 /* UIColorExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIColorExtensions.swift; sourceTree = "<group>"; }; |
| 188 | A079367B2885F2F500064122 /* AnalysisHeaderViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalysisHeaderViewCell.swift; sourceTree = "<group>"; }; | 190 | A079367B2885F2F500064122 /* AnalysisHeaderViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalysisHeaderViewCell.swift; sourceTree = "<group>"; }; |
| 189 | A079367D2885F60A00064122 /* AnalysisHeaderMessageViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalysisHeaderMessageViewCell.swift; sourceTree = "<group>"; }; | 191 | A079367D2885F60A00064122 /* AnalysisHeaderMessageViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalysisHeaderMessageViewCell.swift; sourceTree = "<group>"; }; |
| 192 | + A080CFD428D170A20045A315 /* MapsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapsViewController.swift; sourceTree = "<group>"; }; | ||
| 193 | + A080CFD528D170A20045A315 /* MapsViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MapsViewController.xib; sourceTree = "<group>"; }; | ||
| 190 | A09DBCAD2888BA8100DD50B0 /* SharingHistoryViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SharingHistoryViewController.swift; sourceTree = "<group>"; }; | 194 | A09DBCAD2888BA8100DD50B0 /* SharingHistoryViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SharingHistoryViewController.swift; sourceTree = "<group>"; }; |
| 191 | A9B7BE01A4E812DE49866EF8 /* Pods-SwiftWarplyFramework.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SwiftWarplyFramework.debug.xcconfig"; path = "Target Support Files/Pods-SwiftWarplyFramework/Pods-SwiftWarplyFramework.debug.xcconfig"; sourceTree = "<group>"; }; | 195 | A9B7BE01A4E812DE49866EF8 /* Pods-SwiftWarplyFramework.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SwiftWarplyFramework.debug.xcconfig"; path = "Target Support Files/Pods-SwiftWarplyFramework/Pods-SwiftWarplyFramework.debug.xcconfig"; sourceTree = "<group>"; }; |
| 192 | B9EB8A451EF0C5AD75094EEE /* Pods-SwiftWarplyFramework.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SwiftWarplyFramework.release.xcconfig"; path = "Target Support Files/Pods-SwiftWarplyFramework/Pods-SwiftWarplyFramework.release.xcconfig"; sourceTree = "<group>"; }; | 196 | B9EB8A451EF0C5AD75094EEE /* Pods-SwiftWarplyFramework.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SwiftWarplyFramework.release.xcconfig"; path = "Target Support Files/Pods-SwiftWarplyFramework/Pods-SwiftWarplyFramework.release.xcconfig"; sourceTree = "<group>"; }; |
| ... | @@ -400,6 +404,13 @@ | ... | @@ -400,6 +404,13 @@ |
| 400 | name = cells; | 404 | name = cells; |
| 401 | sourceTree = "<group>"; | 405 | sourceTree = "<group>"; |
| 402 | }; | 406 | }; |
| 407 | + A080CFD828D17F7A0045A315 /* controls */ = { | ||
| 408 | + isa = PBXGroup; | ||
| 409 | + children = ( | ||
| 410 | + ); | ||
| 411 | + name = controls; | ||
| 412 | + sourceTree = "<group>"; | ||
| 413 | + }; | ||
| 403 | C049E0423E2B72D796B777A3 /* Pods */ = { | 414 | C049E0423E2B72D796B777A3 /* Pods */ = { |
| 404 | isa = PBXGroup; | 415 | isa = PBXGroup; |
| 405 | children = ( | 416 | children = ( |
| ... | @@ -433,9 +444,12 @@ | ... | @@ -433,9 +444,12 @@ |
| 433 | 1E108A9728A3FA9B0008B8E7 /* Info.plist */, | 444 | 1E108A9728A3FA9B0008B8E7 /* Info.plist */, |
| 434 | 1E108A8B28A3F8FF0008B8E7 /* Resources */, | 445 | 1E108A8B28A3F8FF0008B8E7 /* Resources */, |
| 435 | A02F34042882B6E60086465F /* TelcoViewController.swift */, | 446 | A02F34042882B6E60086465F /* TelcoViewController.swift */, |
| 447 | + A080CFD828D17F7A0045A315 /* controls */, | ||
| 436 | A07936712885E65C00064122 /* models */, | 448 | A07936712885E65C00064122 /* models */, |
| 437 | A079366A2885CDDC00064122 /* analysis */, | 449 | A079366A2885CDDC00064122 /* analysis */, |
| 438 | A07936742885E96A00064122 /* utilities */, | 450 | A07936742885E96A00064122 /* utilities */, |
| 451 | + A080CFD428D170A20045A315 /* MapsViewController.swift */, | ||
| 452 | + A080CFD528D170A20045A315 /* MapsViewController.xib */, | ||
| 439 | E6A7785E282933E40045BBA8 /* CouponsViewController.swift */, | 453 | E6A7785E282933E40045BBA8 /* CouponsViewController.swift */, |
| 440 | 1EA1AF092835346A008998AA /* CouponsTableViewCell.swift */, | 454 | 1EA1AF092835346A008998AA /* CouponsTableViewCell.swift */, |
| 441 | E6A7785D282933E40045BBA8 /* CouponViewController.swift */, | 455 | E6A7785D282933E40045BBA8 /* CouponViewController.swift */, |
| ... | @@ -814,6 +828,7 @@ | ... | @@ -814,6 +828,7 @@ |
| 814 | E6A778E5282933E60045BBA8 /* Main.storyboard in Resources */, | 828 | E6A778E5282933E60045BBA8 /* Main.storyboard in Resources */, |
| 815 | 1E108A9628A3F9280008B8E7 /* pf_square_sans_pro_bold.ttf in Resources */, | 829 | 1E108A9628A3F9280008B8E7 /* pf_square_sans_pro_bold.ttf in Resources */, |
| 816 | 1E108A9228A3F9280008B8E7 /* pf_square_sans_pro_regular.ttf in Resources */, | 830 | 1E108A9228A3F9280008B8E7 /* pf_square_sans_pro_regular.ttf in Resources */, |
| 831 | + A080CFD728D170A20045A315 /* MapsViewController.xib in Resources */, | ||
| 817 | E6A778EA282933E60045BBA8 /* WLNativeVideoTableViewCell.xib in Resources */, | 832 | E6A778EA282933E60045BBA8 /* WLNativeVideoTableViewCell.xib in Resources */, |
| 818 | 1E108A9528A3F9280008B8E7 /* pf_square_sans_pro_bold_italic.ttf in Resources */, | 833 | 1E108A9528A3F9280008B8E7 /* pf_square_sans_pro_bold_italic.ttf in Resources */, |
| 819 | E6A7790A282933E60045BBA8 /* warp_white_close_button.png in Resources */, | 834 | E6A7790A282933E60045BBA8 /* warp_white_close_button.png in Resources */, |
| ... | @@ -925,6 +940,7 @@ | ... | @@ -925,6 +940,7 @@ |
| 925 | E6A7794A282933E70045BBA8 /* FMDatabaseAdditions.m in Sources */, | 940 | E6A7794A282933E70045BBA8 /* FMDatabaseAdditions.m in Sources */, |
| 926 | E6A77903282933E60045BBA8 /* WLAPSItem.m in Sources */, | 941 | E6A77903282933E60045BBA8 /* WLAPSItem.m in Sources */, |
| 927 | E6A7790B282933E60045BBA8 /* WLPushManager.m in Sources */, | 942 | E6A7790B282933E60045BBA8 /* WLPushManager.m in Sources */, |
| 943 | + A080CFD628D170A20045A315 /* MapsViewController.swift in Sources */, | ||
| 928 | A079366E2885D07700064122 /* AnalysisChildViewController.swift in Sources */, | 944 | A079366E2885D07700064122 /* AnalysisChildViewController.swift in Sources */, |
| 929 | E6A77950282933E70045BBA8 /* FMResultSet.m in Sources */, | 945 | E6A77950282933E70045BBA8 /* FMResultSet.m in Sources */, |
| 930 | E6A77936282933E70045BBA8 /* AFAutoPurgingImageCache.m in Sources */, | 946 | E6A77936282933E70045BBA8 /* AFAutoPurgingImageCache.m in Sources */, | ... | ... |
| 1 | +// | ||
| 2 | +// MapsViewController.swift | ||
| 3 | +// SwiftWarplyFramework | ||
| 4 | +// | ||
| 5 | +// Created by Βασιλης Σκουρας on 14/9/22. | ||
| 6 | +// | ||
| 7 | + | ||
| 8 | +import UIKit | ||
| 9 | +import MapKit | ||
| 10 | + | ||
| 11 | +class MapsViewController: UIViewController, MKMapViewDelegate { | ||
| 12 | + | ||
| 13 | + // ui | ||
| 14 | + @IBOutlet private var mapView: MKMapView! | ||
| 15 | + | ||
| 16 | + @IBOutlet private var titleView: UILabel! | ||
| 17 | + @IBOutlet private var nameImageView: UIImageView! | ||
| 18 | + @IBOutlet private var nameView: UILabel! | ||
| 19 | + @IBOutlet private var hoursView: UILabel! | ||
| 20 | + @IBOutlet private var phoneView: UILabel! | ||
| 21 | + @IBOutlet private var addressView: UILabel! | ||
| 22 | + @IBOutlet private var directionsButton: UIButton! | ||
| 23 | + @IBOutlet private var infoTopConstraint: NSLayoutConstraint! | ||
| 24 | + | ||
| 25 | + // public | ||
| 26 | + public var couponSet: swiftApi.CouponSetItemModel? | ||
| 27 | + var merchantsArray:Array<swiftApi.MerchantModel> = [] | ||
| 28 | + | ||
| 29 | + // | ||
| 30 | + var loading: Bool = false | ||
| 31 | + let initialLocation = CLLocation(latitude: 38.0689416, longitude: 19.9906012) // greece | ||
| 32 | + | ||
| 33 | + // | ||
| 34 | + override func viewDidLoad() { | ||
| 35 | + super.viewDidLoad() | ||
| 36 | + | ||
| 37 | + self.hidesBottomBarWhenPushed = true | ||
| 38 | + | ||
| 39 | + self.infoTopConstraint.constant = 0 | ||
| 40 | + | ||
| 41 | + setBackButton("ic_close") | ||
| 42 | + //setNavigationTitle(ccms?._titleOffer ?? "") | ||
| 43 | + | ||
| 44 | + mapView.delegate = self | ||
| 45 | + mapView.centerToLocation(initialLocation) | ||
| 46 | + | ||
| 47 | + //directionsButton.titleLabel?.font = UIFont(name: "PFSquareSansPro-Medium", size: 16) | ||
| 48 | + directionsButton.setTitle("Οδηγίες", for: .normal) | ||
| 49 | + directionsButton.setTitleColor(.white, for: .normal) | ||
| 50 | + directionsButton.backgroundColor = UIColor(red: 0.47, green: 0.75, blue: 0.08, alpha: 1.00) | ||
| 51 | + directionsButton.layer.cornerRadius = 12.0 | ||
| 52 | + } | ||
| 53 | + | ||
| 54 | + // mvp | ||
| 55 | + @objc func load() { | ||
| 56 | + | ||
| 57 | + if (loading) { | ||
| 58 | + return; | ||
| 59 | + } | ||
| 60 | + | ||
| 61 | + showLoading() | ||
| 62 | + | ||
| 63 | + // TODO: adapt params | ||
| 64 | + let merchantUuid: String = couponSet!.merchant_uuid! | ||
| 65 | + swiftApi().getMultilingualMerchantsAsync([], false, 0.0, [], "", 0, [merchantUuid], getMerchantsCallback) | ||
| 66 | + showContent() | ||
| 67 | + } | ||
| 68 | + | ||
| 69 | + func getMerchantsCallback (_ merchantsData: Array<swiftApi.MerchantModel>?) -> Void { | ||
| 70 | + if (merchantsData != nil) { | ||
| 71 | + DispatchQueue.main.async { | ||
| 72 | + self.merchantsArray = merchantsData! | ||
| 73 | + self.loadMapPins() | ||
| 74 | + } | ||
| 75 | + | ||
| 76 | + return | ||
| 77 | + } | ||
| 78 | + } | ||
| 79 | + | ||
| 80 | + private func showLoading() { | ||
| 81 | + | ||
| 82 | + loading = true | ||
| 83 | + } | ||
| 84 | + | ||
| 85 | + private func showError() { | ||
| 86 | + } | ||
| 87 | + | ||
| 88 | + private func showContent() { | ||
| 89 | + | ||
| 90 | + loading = false | ||
| 91 | + } | ||
| 92 | + | ||
| 93 | + // private | ||
| 94 | + @IBAction func closeButtomAction(_ sender: Any) { | ||
| 95 | + hidePinDetailsView() | ||
| 96 | + } | ||
| 97 | + | ||
| 98 | + private func loadMapPins() { | ||
| 99 | + for item in merchantsArray { | ||
| 100 | + let pin = MKPointAnnotation() | ||
| 101 | + pin.coordinate = CLLocationCoordinate2D(latitude: item._latitude, longitude: item._longitude) | ||
| 102 | + mapView.addAnnotation(pin) | ||
| 103 | + } | ||
| 104 | + } | ||
| 105 | + | ||
| 106 | + private func loadPinDetailsView() { | ||
| 107 | + self.titleView.text = "INTERSPORT" | ||
| 108 | + self.nameImageView.image = UIImage(named: "intersport") | ||
| 109 | + self.nameView.text = "Intersport Χαλάνδρι" | ||
| 110 | + self.hoursView.text = "Δευτέρα - Τετάρτη" | ||
| 111 | + self.phoneView.text = "210-6230453" | ||
| 112 | + self.addressView.text = "ΕΘΝΙΚΗΣ ΑΝΤΙΣΤΑΣΕΩΝ 4 41" | ||
| 113 | + } | ||
| 114 | + | ||
| 115 | + private func showPinDetailsView() { | ||
| 116 | + self.infoTopConstraint.constant = -320 | ||
| 117 | + UIView.animate(withDuration: 2.0) { | ||
| 118 | + self.view.layoutIfNeeded() | ||
| 119 | + } | ||
| 120 | + } | ||
| 121 | + | ||
| 122 | + private func hidePinDetailsView() { | ||
| 123 | + self.infoTopConstraint.constant = 0 | ||
| 124 | + UIView.animate(withDuration: 2.0) { | ||
| 125 | + self.view.layoutIfNeeded() | ||
| 126 | + } | ||
| 127 | + } | ||
| 128 | + | ||
| 129 | + // map view delegate | ||
| 130 | + func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? { | ||
| 131 | + guard !(annotation is MKUserLocation) else { | ||
| 132 | + return nil | ||
| 133 | + } | ||
| 134 | + | ||
| 135 | + var annotationView = mapView.dequeueReusableAnnotationView(withIdentifier: "warply_custom") | ||
| 136 | + if (annotationView == nil) { | ||
| 137 | + annotationView = MKAnnotationView(annotation: annotation, reuseIdentifier: "warply_custom") | ||
| 138 | + annotationView?.canShowCallout = false | ||
| 139 | + } else { | ||
| 140 | + annotationView?.annotation = annotation | ||
| 141 | + } | ||
| 142 | + | ||
| 143 | + // TODO: add custom pin image? | ||
| 144 | + annotationView?.image = UIImage(named: "custom") | ||
| 145 | + | ||
| 146 | + return annotationView | ||
| 147 | + } | ||
| 148 | + | ||
| 149 | + func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) { | ||
| 150 | + loadPinDetailsView() | ||
| 151 | + showPinDetailsView() | ||
| 152 | + } | ||
| 153 | + | ||
| 154 | + func mapView(_ mapView: MKMapView, didDeselect view: MKAnnotationView) { | ||
| 155 | + hidePinDetailsView() | ||
| 156 | + } | ||
| 157 | +} | ||
| 158 | + | ||
| 159 | +private extension MKMapView { | ||
| 160 | + | ||
| 161 | + func centerToLocation(_ location: CLLocation, regionRadius: CLLocationDistance = 1000) { | ||
| 162 | + let coordinateRegion = MKCoordinateRegion( | ||
| 163 | + center: location.coordinate, | ||
| 164 | + latitudinalMeters: regionRadius, | ||
| 165 | + longitudinalMeters: regionRadius) | ||
| 166 | + setRegion(coordinateRegion, animated: true) | ||
| 167 | + } | ||
| 168 | +} |
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> | ||
| 3 | + <device id="retina6_1" orientation="portrait" appearance="light"/> | ||
| 4 | + <dependencies> | ||
| 5 | + <deployment identifier="iOS"/> | ||
| 6 | + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/> | ||
| 7 | + <capability name="Safe area layout guides" minToolsVersion="9.0"/> | ||
| 8 | + <capability name="System colors in document resources" minToolsVersion="11.0"/> | ||
| 9 | + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> | ||
| 10 | + </dependencies> | ||
| 11 | + <objects> | ||
| 12 | + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="MapsViewController" customModule="SwiftWarplyFramework" customModuleProvider="target"> | ||
| 13 | + <connections> | ||
| 14 | + <outlet property="addressView" destination="syP-Hv-OGD" id="LUw-pI-3va"/> | ||
| 15 | + <outlet property="directionsButton" destination="bw3-J9-wHr" id="sSi-OK-KTA"/> | ||
| 16 | + <outlet property="hoursView" destination="u9U-A7-lbO" id="xm5-gQ-zjh"/> | ||
| 17 | + <outlet property="infoTopConstraint" destination="9av-UX-8VL" id="uKX-lw-OTH"/> | ||
| 18 | + <outlet property="mapView" destination="F1c-ck-cQa" id="cdx-31-BiL"/> | ||
| 19 | + <outlet property="nameImageView" destination="eDV-A1-pOO" id="JYq-eT-kEG"/> | ||
| 20 | + <outlet property="nameView" destination="MsK-eg-pkk" id="60t-lm-O8m"/> | ||
| 21 | + <outlet property="phoneView" destination="knh-D9-CuM" id="ES2-6e-vRx"/> | ||
| 22 | + <outlet property="titleView" destination="oVh-dv-f7a" id="dst-Ku-EFw"/> | ||
| 23 | + <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> | ||
| 24 | + </connections> | ||
| 25 | + </placeholder> | ||
| 26 | + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> | ||
| 27 | + <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> | ||
| 28 | + <rect key="frame" x="0.0" y="0.0" width="414" height="896"/> | ||
| 29 | + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | ||
| 30 | + <subviews> | ||
| 31 | + <mapView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" mapType="standard" translatesAutoresizingMaskIntoConstraints="NO" id="F1c-ck-cQa"> | ||
| 32 | + <rect key="frame" x="0.0" y="0.0" width="414" height="896"/> | ||
| 33 | + </mapView> | ||
| 34 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Zc1-ew-qcl"> | ||
| 35 | + <rect key="frame" x="0.0" y="576" width="414" height="320"/> | ||
| 36 | + <subviews> | ||
| 37 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="INTERSPORT" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="oVh-dv-f7a" userLabel="Title"> | ||
| 38 | + <rect key="frame" x="30" y="20" width="304" height="30"/> | ||
| 39 | + <constraints> | ||
| 40 | + <constraint firstAttribute="height" constant="30" id="Gf2-VN-pNV"/> | ||
| 41 | + </constraints> | ||
| 42 | + <fontDescription key="fontDescription" type="boldSystem" pointSize="16"/> | ||
| 43 | + <nil key="textColor"/> | ||
| 44 | + <nil key="highlightedColor"/> | ||
| 45 | + </label> | ||
| 46 | + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="lEb-V2-2FC" userLabel="Close"> | ||
| 47 | + <rect key="frame" x="354" y="20" width="30" height="30"/> | ||
| 48 | + <constraints> | ||
| 49 | + <constraint firstAttribute="width" constant="30" id="gnd-qn-qo5"/> | ||
| 50 | + <constraint firstAttribute="height" constant="30" id="oeu-zs-b1J"/> | ||
| 51 | + </constraints> | ||
| 52 | + <state key="normal" title="Button"/> | ||
| 53 | + <buttonConfiguration key="configuration" style="plain"/> | ||
| 54 | + <connections> | ||
| 55 | + <action selector="closeButtomAction:" destination="-1" eventType="touchUpOutside" id="0NJ-C9-lhC"/> | ||
| 56 | + </connections> | ||
| 57 | + </button> | ||
| 58 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="F55-qj-PDc" userLabel="LineTop"> | ||
| 59 | + <rect key="frame" x="10" y="52" width="394" height="1"/> | ||
| 60 | + <constraints> | ||
| 61 | + <constraint firstAttribute="height" constant="1" id="18a-J3-UZm"/> | ||
| 62 | + </constraints> | ||
| 63 | + </view> | ||
| 64 | + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="eDV-A1-pOO" userLabel="NameLogo"> | ||
| 65 | + <rect key="frame" x="30" y="78" width="30" height="30"/> | ||
| 66 | + <constraints> | ||
| 67 | + <constraint firstAttribute="width" constant="30" id="IjG-Iw-fIq"/> | ||
| 68 | + <constraint firstAttribute="height" constant="30" id="LnS-gV-hIi"/> | ||
| 69 | + </constraints> | ||
| 70 | + </imageView> | ||
| 71 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" text="Intersport Χαλανδρίου" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="MsK-eg-pkk" userLabel="NameLabel"> | ||
| 72 | + <rect key="frame" x="70" y="74" width="314" height="18"/> | ||
| 73 | + <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="15"/> | ||
| 74 | + <nil key="textColor"/> | ||
| 75 | + <nil key="highlightedColor"/> | ||
| 76 | + </label> | ||
| 77 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="SHs-vI-jD7" userLabel="LineMiddle"> | ||
| 78 | + <rect key="frame" x="10" y="133" width="394" height="1"/> | ||
| 79 | + <color key="backgroundColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
| 80 | + <constraints> | ||
| 81 | + <constraint firstAttribute="height" constant="1" id="hMo-qH-T2k"/> | ||
| 82 | + </constraints> | ||
| 83 | + </view> | ||
| 84 | + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="KhY-nt-uwH" userLabel="phoneIcon"> | ||
| 85 | + <rect key="frame" x="30" y="164" width="20" height="20"/> | ||
| 86 | + <constraints> | ||
| 87 | + <constraint firstAttribute="height" constant="20" id="1rt-pN-Dld"/> | ||
| 88 | + <constraint firstAttribute="width" constant="20" id="3Rd-ir-r7Q"/> | ||
| 89 | + </constraints> | ||
| 90 | + </imageView> | ||
| 91 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" text="210-6230543" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="knh-D9-CuM" userLabel="phoneLabel"> | ||
| 92 | + <rect key="frame" x="60" y="154" width="324" height="40"/> | ||
| 93 | + <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="15"/> | ||
| 94 | + <nil key="textColor"/> | ||
| 95 | + <nil key="highlightedColor"/> | ||
| 96 | + </label> | ||
| 97 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="sAf-f8-8jc" userLabel="LineBottom"> | ||
| 98 | + <rect key="frame" x="10" y="214" width="394" height="1"/> | ||
| 99 | + <color key="backgroundColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
| 100 | + <constraints> | ||
| 101 | + <constraint firstAttribute="height" constant="1" id="vSP-6I-Lz6"/> | ||
| 102 | + </constraints> | ||
| 103 | + </view> | ||
| 104 | + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="Bic-c4-J9E" userLabel="AddressIcon"> | ||
| 105 | + <rect key="frame" x="30" y="240.5" width="20" height="20"/> | ||
| 106 | + <constraints> | ||
| 107 | + <constraint firstAttribute="height" constant="20" id="A8o-MY-I6f"/> | ||
| 108 | + <constraint firstAttribute="width" constant="20" id="Xma-bp-6IZ"/> | ||
| 109 | + </constraints> | ||
| 110 | + </imageView> | ||
| 111 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" text="ΕΘΝΙΚΗΣ ΑΝΤΙΣΤΑΣΕΩΣ 4 41" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="syP-Hv-OGD" userLabel="AddressLabel"> | ||
| 112 | + <rect key="frame" x="60" y="235" width="247" height="31"/> | ||
| 113 | + <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="15"/> | ||
| 114 | + <nil key="textColor"/> | ||
| 115 | + <nil key="highlightedColor"/> | ||
| 116 | + </label> | ||
| 117 | + <button opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="bw3-J9-wHr" userLabel="Directions"> | ||
| 118 | + <rect key="frame" x="317" y="235" width="67" height="31"/> | ||
| 119 | + <state key="normal" title="Button"/> | ||
| 120 | + <buttonConfiguration key="configuration" style="plain" title="Button"/> | ||
| 121 | + </button> | ||
| 122 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" text="Δευτέρα - Τετάρτη" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="u9U-A7-lbO" userLabel="HoursLabel"> | ||
| 123 | + <rect key="frame" x="70" y="94" width="314" height="18"/> | ||
| 124 | + <fontDescription key="fontDescription" type="system" pointSize="15"/> | ||
| 125 | + <color key="textColor" systemColor="systemGray2Color"/> | ||
| 126 | + <nil key="highlightedColor"/> | ||
| 127 | + </label> | ||
| 128 | + </subviews> | ||
| 129 | + <viewLayoutGuide key="safeArea" id="XS2-AR-3j9"/> | ||
| 130 | + <color key="backgroundColor" systemColor="systemBackgroundColor"/> | ||
| 131 | + <constraints> | ||
| 132 | + <constraint firstItem="u9U-A7-lbO" firstAttribute="leading" secondItem="eDV-A1-pOO" secondAttribute="trailing" constant="10" id="0Z2-uE-kRe"/> | ||
| 133 | + <constraint firstItem="XS2-AR-3j9" firstAttribute="trailing" secondItem="MsK-eg-pkk" secondAttribute="trailing" constant="30" id="1qW-i8-MRk"/> | ||
| 134 | + <constraint firstItem="XS2-AR-3j9" firstAttribute="bottom" secondItem="bw3-J9-wHr" secondAttribute="bottom" constant="20" id="3vm-pn-qpa"/> | ||
| 135 | + <constraint firstItem="lEb-V2-2FC" firstAttribute="top" secondItem="Zc1-ew-qcl" secondAttribute="top" constant="20" id="5bY-RU-ons"/> | ||
| 136 | + <constraint firstItem="knh-D9-CuM" firstAttribute="top" secondItem="SHs-vI-jD7" secondAttribute="bottom" constant="20" id="61g-5C-XbI"/> | ||
| 137 | + <constraint firstItem="sAf-f8-8jc" firstAttribute="leading" secondItem="XS2-AR-3j9" secondAttribute="leading" constant="10" id="7W6-cn-WdZ"/> | ||
| 138 | + <constraint firstItem="bw3-J9-wHr" firstAttribute="centerY" secondItem="Bic-c4-J9E" secondAttribute="centerY" id="AHw-0D-gur"/> | ||
| 139 | + <constraint firstItem="SHs-vI-jD7" firstAttribute="top" secondItem="eDV-A1-pOO" secondAttribute="bottom" constant="25" id="D8j-Qh-CHB"/> | ||
| 140 | + <constraint firstItem="KhY-nt-uwH" firstAttribute="leading" secondItem="XS2-AR-3j9" secondAttribute="leading" constant="30" id="Dok-gZ-xf1"/> | ||
| 141 | + <constraint firstItem="SHs-vI-jD7" firstAttribute="leading" secondItem="Zc1-ew-qcl" secondAttribute="leading" constant="10" id="Lj8-XN-HTj"/> | ||
| 142 | + <constraint firstAttribute="trailing" secondItem="F55-qj-PDc" secondAttribute="trailing" constant="10" id="MCj-ek-cnb"/> | ||
| 143 | + <constraint firstAttribute="trailing" secondItem="lEb-V2-2FC" secondAttribute="trailing" constant="30" id="NcX-rr-7OU"/> | ||
| 144 | + <constraint firstItem="syP-Hv-OGD" firstAttribute="leading" secondItem="Bic-c4-J9E" secondAttribute="trailing" constant="10" id="Rl4-cn-VTG"/> | ||
| 145 | + <constraint firstAttribute="trailing" secondItem="SHs-vI-jD7" secondAttribute="trailing" constant="10" id="Smw-Bv-Qlr"/> | ||
| 146 | + <constraint firstItem="lEb-V2-2FC" firstAttribute="leading" secondItem="oVh-dv-f7a" secondAttribute="trailing" constant="20" id="ULP-b9-ToV"/> | ||
| 147 | + <constraint firstItem="MsK-eg-pkk" firstAttribute="leading" secondItem="eDV-A1-pOO" secondAttribute="trailing" constant="10" id="Vg7-xl-oA2"/> | ||
| 148 | + <constraint firstItem="bw3-J9-wHr" firstAttribute="top" secondItem="sAf-f8-8jc" secondAttribute="bottom" constant="20" id="YhG-Th-URU"/> | ||
| 149 | + <constraint firstItem="oVh-dv-f7a" firstAttribute="leading" secondItem="Zc1-ew-qcl" secondAttribute="leading" constant="30" id="Zd1-SB-SlA"/> | ||
| 150 | + <constraint firstItem="KhY-nt-uwH" firstAttribute="top" secondItem="SHs-vI-jD7" secondAttribute="bottom" constant="30" id="a6s-J0-5rJ"/> | ||
| 151 | + <constraint firstItem="knh-D9-CuM" firstAttribute="leading" secondItem="KhY-nt-uwH" secondAttribute="trailing" constant="10" id="aeR-MK-4WB"/> | ||
| 152 | + <constraint firstItem="eDV-A1-pOO" firstAttribute="leading" secondItem="XS2-AR-3j9" secondAttribute="leading" constant="30" id="bkK-59-wXK"/> | ||
| 153 | + <constraint firstAttribute="height" constant="320" id="eIo-xG-BnE"/> | ||
| 154 | + <constraint firstItem="u9U-A7-lbO" firstAttribute="centerY" secondItem="eDV-A1-pOO" secondAttribute="centerY" constant="10" id="gFw-90-gXL"/> | ||
| 155 | + <constraint firstItem="oVh-dv-f7a" firstAttribute="top" secondItem="Zc1-ew-qcl" secondAttribute="top" constant="20" id="gIA-8o-Pv8"/> | ||
| 156 | + <constraint firstItem="XS2-AR-3j9" firstAttribute="trailing" secondItem="u9U-A7-lbO" secondAttribute="trailing" constant="30" id="hZz-zi-NzM"/> | ||
| 157 | + <constraint firstItem="XS2-AR-3j9" firstAttribute="trailing" secondItem="sAf-f8-8jc" secondAttribute="trailing" constant="10" id="hn5-U5-rvW"/> | ||
| 158 | + <constraint firstItem="sAf-f8-8jc" firstAttribute="top" secondItem="SHs-vI-jD7" secondAttribute="bottom" constant="80" id="htI-gJ-mSm"/> | ||
| 159 | + <constraint firstAttribute="trailing" secondItem="bw3-J9-wHr" secondAttribute="trailing" constant="30" id="hya-Ns-ldi"/> | ||
| 160 | + <constraint firstItem="Bic-c4-J9E" firstAttribute="leading" secondItem="Zc1-ew-qcl" secondAttribute="leading" constant="30" id="iUf-BZ-0kl"/> | ||
| 161 | + <constraint firstItem="F55-qj-PDc" firstAttribute="leading" secondItem="Zc1-ew-qcl" secondAttribute="leading" constant="10" id="jK6-2e-p3v"/> | ||
| 162 | + <constraint firstItem="XS2-AR-3j9" firstAttribute="bottom" secondItem="syP-Hv-OGD" secondAttribute="bottom" constant="20" id="luv-Gm-76K"/> | ||
| 163 | + <constraint firstItem="sAf-f8-8jc" firstAttribute="top" secondItem="knh-D9-CuM" secondAttribute="bottom" constant="20" id="m6I-QE-hbq"/> | ||
| 164 | + <constraint firstItem="eDV-A1-pOO" firstAttribute="top" secondItem="F55-qj-PDc" secondAttribute="bottom" constant="25" id="nAA-6u-CUo"/> | ||
| 165 | + <constraint firstItem="XS2-AR-3j9" firstAttribute="trailing" secondItem="knh-D9-CuM" secondAttribute="trailing" constant="30" id="pFB-4b-xx9"/> | ||
| 166 | + <constraint firstItem="MsK-eg-pkk" firstAttribute="centerY" secondItem="eDV-A1-pOO" secondAttribute="centerY" constant="-10" id="wpA-Xv-RdU"/> | ||
| 167 | + <constraint firstItem="syP-Hv-OGD" firstAttribute="top" secondItem="sAf-f8-8jc" secondAttribute="bottom" constant="20" id="xD6-zI-9Nl"/> | ||
| 168 | + <constraint firstItem="SHs-vI-jD7" firstAttribute="top" secondItem="F55-qj-PDc" secondAttribute="bottom" constant="80" id="xPl-UV-cMd"/> | ||
| 169 | + <constraint firstItem="bw3-J9-wHr" firstAttribute="leading" secondItem="syP-Hv-OGD" secondAttribute="trailing" constant="10" id="zAU-89-R2t"/> | ||
| 170 | + </constraints> | ||
| 171 | + </view> | ||
| 172 | + </subviews> | ||
| 173 | + <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/> | ||
| 174 | + <color key="backgroundColor" systemColor="systemBackgroundColor"/> | ||
| 175 | + <constraints> | ||
| 176 | + <constraint firstItem="Zc1-ew-qcl" firstAttribute="trailing" secondItem="fnl-2z-Ty3" secondAttribute="trailing" id="0dW-tS-Vxe"/> | ||
| 177 | + <constraint firstItem="Zc1-ew-qcl" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="bottom" constant="-320" id="9av-UX-8VL"/> | ||
| 178 | + <constraint firstItem="F1c-ck-cQa" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="GSB-K2-QjT"/> | ||
| 179 | + <constraint firstItem="Zc1-ew-qcl" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="LKw-N3-e8B"/> | ||
| 180 | + <constraint firstItem="F1c-ck-cQa" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="bxr-2d-8JA"/> | ||
| 181 | + <constraint firstItem="F1c-ck-cQa" firstAttribute="trailing" secondItem="fnl-2z-Ty3" secondAttribute="trailing" id="n6F-h0-5ip"/> | ||
| 182 | + <constraint firstAttribute="bottom" secondItem="F1c-ck-cQa" secondAttribute="bottom" id="tGx-bL-7cM"/> | ||
| 183 | + </constraints> | ||
| 184 | + <point key="canvasLocation" x="137.68115942028987" y="120.53571428571428"/> | ||
| 185 | + </view> | ||
| 186 | + </objects> | ||
| 187 | + <resources> | ||
| 188 | + <systemColor name="systemBackgroundColor"> | ||
| 189 | + <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
| 190 | + </systemColor> | ||
| 191 | + <systemColor name="systemGray2Color"> | ||
| 192 | + <color red="0.68235294117647061" green="0.68235294117647061" blue="0.69803921568627447" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | ||
| 193 | + </systemColor> | ||
| 194 | + </resources> | ||
| 195 | +</document> |
-
Please register or login to post a comment