26.04.2022

26.04.2022
parent 001b7cb9
......@@ -43,13 +43,14 @@
D569AB8627B8E27B0013DCFE /* Em_callUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D569AB8527B8E27B0013DCFE /* Em_callUITests.swift */; };
D56E5D6D27C26F2500D0E4B9 /* StartViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D56E5D6C27C26F2500D0E4B9 /* StartViewController.swift */; };
D57A2EBB28033CF200B8E910 /* NSArrayValueTransformer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57A2EBA28033CF200B8E910 /* NSArrayValueTransformer.swift */; };
D57DC3B728125CDC008F649D /* EmerLocksmithVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57DC3B628125CDC008F649D /* EmerLocksmithVC.swift */; };
D58EDC8C2811F368007A9AAC /* LocsmithVCViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D58EDC8B2811F368007A9AAC /* LocsmithVCViewController.swift */; };
D59E3CE027D3B03F008A7E0C /* SettingCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D59E3CDF27D3B03F008A7E0C /* SettingCell.swift */; };
D59E3CE527D3B37B008A7E0C /* Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D59E3CE427D3B37B008A7E0C /* Extensions.swift */; };
D5B0201027C37BBE00C4BA4F /* MainViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5B0200F27C37BBE00C4BA4F /* MainViewController.swift */; };
D5B0201527C3826800C4BA4F /* ArtworkViews.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5B0201427C3826800C4BA4F /* ArtworkViews.swift */; };
D5B0201A27C382A600C4BA4F /* Artwork.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5B0201927C382A600C4BA4F /* Artwork.swift */; };
D5B036CD280BF9ED0076F7CE /* StringArrayTransformer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5B036CC280BF9ED0076F7CE /* StringArrayTransformer.swift */; };
D5C001D027DA60CB0045F6BE /* StartNavigationVCViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5C001CF27DA60CB0045F6BE /* StartNavigationVCViewController.swift */; };
D5C59AF127CFD1810013EFBB /* netwok.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5C59AF027CFD1810013EFBB /* netwok.swift */; };
D5CB9A2827ECCE9A000F8500 /* StringExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5CB9A1E27ECCE99000F8500 /* StringExtension.swift */; };
D5CB9A2927ECCE9A000F8500 /* Message.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5CB9A1F27ECCE99000F8500 /* Message.swift */; };
......@@ -140,13 +141,14 @@
D56E5D6C27C26F2500D0E4B9 /* StartViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StartViewController.swift; sourceTree = "<group>"; };
D56E5D7927C2893800D0E4B9 /* MapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MapKit.framework; path = System/Library/Frameworks/MapKit.framework; sourceTree = SDKROOT; };
D57A2EBA28033CF200B8E910 /* NSArrayValueTransformer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NSArrayValueTransformer.swift; sourceTree = "<group>"; };
D57DC3B628125CDC008F649D /* EmerLocksmithVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmerLocksmithVC.swift; sourceTree = "<group>"; };
D58EDC8B2811F368007A9AAC /* LocsmithVCViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocsmithVCViewController.swift; sourceTree = "<group>"; };
D59E3CDF27D3B03F008A7E0C /* SettingCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SettingCell.swift; sourceTree = "<group>"; };
D59E3CE427D3B37B008A7E0C /* Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Extensions.swift; sourceTree = "<group>"; };
D5B0200F27C37BBE00C4BA4F /* MainViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainViewController.swift; sourceTree = "<group>"; };
D5B0201427C3826800C4BA4F /* ArtworkViews.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArtworkViews.swift; sourceTree = "<group>"; };
D5B0201927C382A600C4BA4F /* Artwork.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Artwork.swift; sourceTree = "<group>"; };
D5B036CC280BF9ED0076F7CE /* StringArrayTransformer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StringArrayTransformer.swift; sourceTree = "<group>"; };
D5C001CF27DA60CB0045F6BE /* StartNavigationVCViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StartNavigationVCViewController.swift; sourceTree = "<group>"; };
D5C59AF027CFD1810013EFBB /* netwok.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = netwok.swift; sourceTree = "<group>"; };
D5CB9A1E27ECCE99000F8500 /* StringExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StringExtension.swift; sourceTree = "<group>"; };
D5CB9A1F27ECCE99000F8500 /* Message.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Message.swift; sourceTree = "<group>"; };
......@@ -232,10 +234,11 @@
D5B0200F27C37BBE00C4BA4F /* MainViewController.swift */,
D5E2042327CE2DD90063A514 /* ProfileViewController.swift */,
D5E2042827CE30E20063A514 /* DataProfileViewController.swift */,
D5C001CF27DA60CB0045F6BE /* StartNavigationVCViewController.swift */,
D5D6F1A527E77D4A008106EE /* DoubleElectricVC.swift */,
D5DF4AB327F0B5DE00C7DE48 /* CallProfiViewController.swift */,
D52297C02805E45000064FE4 /* MainVCViewController.swift */,
D58EDC8B2811F368007A9AAC /* LocsmithVCViewController.swift */,
D57DC3B628125CDC008F649D /* EmerLocksmithVC.swift */,
);
path = VC;
sourceTree = "<group>";
......@@ -601,6 +604,7 @@
buildActionMask = 2147483647;
files = (
D51D340227BF98B9008D5065 /* CalendarViewController.swift in Sources */,
D58EDC8C2811F368007A9AAC /* LocsmithVCViewController.swift in Sources */,
D5F0237B27C4DEC4008F4146 /* LocationMng.swift in Sources */,
D5E31B3C27BD651C00F5B87D /* EmerElecricianViewController.swift in Sources */,
D5F0238827C4E2AA008F4146 /* ShowAlert.swift in Sources */,
......@@ -623,6 +627,7 @@
D53F560B27E62D7600C18B2A /* SmallListWorkVC.swift in Sources */,
D55E88F827DE124B00DB59E7 /* GlidingCollectionDelegate.swift in Sources */,
D5CB9A2F27ECCE9A000F8500 /* ChatRoomViewController+Table.swift in Sources */,
D57DC3B728125CDC008F649D /* EmerLocksmithVC.swift in Sources */,
D5CB9A2927ECCE9A000F8500 /* Message.swift in Sources */,
D55E88F427DE124B00DB59E7 /* CollectionCell.swift in Sources */,
D55E88FB27DE124B00DB59E7 /* FileManager.swift in Sources */,
......@@ -648,7 +653,6 @@
D5CB9A2827ECCE9A000F8500 /* StringExtension.swift in Sources */,
D503734027FE0A360049EA7A /* ModelCoreData.xcdatamodeld in Sources */,
D5B0201527C3826800C4BA4F /* ArtworkViews.swift in Sources */,
D5C001D027DA60CB0045F6BE /* StartNavigationVCViewController.swift in Sources */,
D569AB6327B8E27A0013DCFE /* SceneDelegate.swift in Sources */,
D5DF4AB427F0B5DE00C7DE48 /* CallProfiViewController.swift in Sources */,
D5B0201027C37BBE00C4BA4F /* MainViewController.swift in Sources */,
......
......@@ -46,8 +46,8 @@
filePath = "Em-call/VC/MainViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "307"
endingLineNumber = "307"
startingLineNumber = "314"
endingLineNumber = "314"
landmarkName = "coordinateToAdress(_:)"
landmarkType = "7">
</BreakpointContent>
......@@ -62,8 +62,8 @@
filePath = "Em-call/VC/HandmanViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "269"
endingLineNumber = "269"
startingLineNumber = "294"
endingLineNumber = "294"
landmarkName = "delegateClick(text:)"
landmarkType = "7">
</BreakpointContent>
......@@ -78,8 +78,8 @@
filePath = "Em-call/VC/HandmanViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "278"
endingLineNumber = "278"
startingLineNumber = "303"
endingLineNumber = "303"
landmarkName = "calendarDelegateClick(text:flagData:)"
landmarkType = "7">
</BreakpointContent>
......@@ -190,8 +190,8 @@
filePath = "Em-call/VC/MainViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "163"
endingLineNumber = "163"
startingLineNumber = "171"
endingLineNumber = "171"
landmarkName = "viewDidAppear(_:)"
landmarkType = "7">
</BreakpointContent>
......@@ -286,8 +286,8 @@
filePath = "Em-call/VC/ElectricTableViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "243"
endingLineNumber = "243"
startingLineNumber = "268"
endingLineNumber = "268"
landmarkName = "delegateClick(text:)"
landmarkType = "7">
</BreakpointContent>
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array/>
</plist>
......@@ -126,8 +126,8 @@
filePath = "Em-call/VC/StartViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "47"
endingLineNumber = "47"
startingLineNumber = "52"
endingLineNumber = "52"
landmarkName = "pressEnter(_:)"
landmarkType = "7">
</BreakpointContent>
......@@ -142,8 +142,8 @@
filePath = "Em-call/Data/SettingsLauncher.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "267"
endingLineNumber = "267"
startingLineNumber = "268"
endingLineNumber = "268"
landmarkName = "imagePickerController(_:didFinishPickingMediaWithInfo:)"
landmarkType = "7">
</BreakpointContent>
......@@ -158,8 +158,8 @@
filePath = "Em-call/VC/MainViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "198"
endingLineNumber = "198"
startingLineNumber = "206"
endingLineNumber = "206"
landmarkName = "viewWillAppear(_:)"
landmarkType = "7">
</BreakpointContent>
......@@ -222,8 +222,8 @@
filePath = "Em-call/VC/MainViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "207"
endingLineNumber = "207"
startingLineNumber = "216"
endingLineNumber = "216"
landmarkName = "viewWillDisappear(_:)"
landmarkType = "7">
</BreakpointContent>
......@@ -238,8 +238,8 @@
filePath = "Em-call/VC/MainViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "170"
endingLineNumber = "170"
startingLineNumber = "178"
endingLineNumber = "178"
landmarkName = "viewDidAppear(_:)"
landmarkType = "7">
</BreakpointContent>
......@@ -590,8 +590,8 @@
filePath = "Em-call/VC/MainViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "203"
endingLineNumber = "203"
startingLineNumber = "212"
endingLineNumber = "212"
landmarkName = "viewWillAppear(_:)"
landmarkType = "7">
</BreakpointContent>
......@@ -606,8 +606,8 @@
filePath = "Em-call/VC/MainViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "301"
endingLineNumber = "301"
startingLineNumber = "308"
endingLineNumber = "308"
landmarkName = "tapGesture(_:)"
landmarkType = "7">
</BreakpointContent>
......@@ -622,8 +622,8 @@
filePath = "Em-call/VC/MainViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "333"
endingLineNumber = "333"
startingLineNumber = "340"
endingLineNumber = "340"
landmarkName = "centerToLocation(_:regionRadius:)"
landmarkType = "7">
</BreakpointContent>
......@@ -638,8 +638,8 @@
filePath = "Em-call/VC/MainViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "342"
endingLineNumber = "342"
startingLineNumber = "349"
endingLineNumber = "349"
landmarkName = "settingsDelegateClick(img:selRow:imgName:)"
landmarkType = "7">
</BreakpointContent>
......@@ -654,28 +654,12 @@
filePath = "Em-call/VC/MainViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "262"
endingLineNumber = "262"
startingLineNumber = "269"
endingLineNumber = "269"
landmarkName = "textFieldShouldReturn(_:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "7F039346-648C-456E-BB8A-6E53D79B1D2E"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/VC/MainViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "238"
endingLineNumber = "238"
landmarkName = "addBottomSheetView()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
......@@ -718,8 +702,8 @@
filePath = "Em-call/VC/MainViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "294"
endingLineNumber = "294"
startingLineNumber = "301"
endingLineNumber = "301"
landmarkName = "mapView(_:viewFor:)"
landmarkType = "7">
</BreakpointContent>
......@@ -734,8 +718,8 @@
filePath = "Em-call/VC/MainViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "293"
endingLineNumber = "293"
startingLineNumber = "300"
endingLineNumber = "300"
landmarkName = "mapView(_:viewFor:)"
landmarkType = "7">
</BreakpointContent>
......@@ -750,8 +734,8 @@
filePath = "Em-call/VC/MainViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "268"
endingLineNumber = "268"
startingLineNumber = "275"
endingLineNumber = "275"
landmarkName = "mapView(_:viewFor:)"
landmarkType = "7">
</BreakpointContent>
......@@ -766,8 +750,8 @@
filePath = "Em-call/VC/MainViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "267"
endingLineNumber = "267"
startingLineNumber = "274"
endingLineNumber = "274"
landmarkName = "mapView(_:viewFor:)"
landmarkType = "7">
</BreakpointContent>
......@@ -782,8 +766,8 @@
filePath = "Em-call/VC/ElectricTableViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "263"
endingLineNumber = "263"
startingLineNumber = "288"
endingLineNumber = "288"
landmarkName = "settingsDelegateClick(img:selRow:imgName:)"
landmarkType = "7">
</BreakpointContent>
......@@ -798,8 +782,8 @@
filePath = "Em-call/Data/SettingsLauncher.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "260"
endingLineNumber = "260"
startingLineNumber = "261"
endingLineNumber = "261"
landmarkName = "imagePickerController(_:didFinishPickingMediaWithInfo:)"
landmarkType = "7">
</BreakpointContent>
......@@ -814,8 +798,8 @@
filePath = "Em-call/Data/SettingsLauncher.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "266"
endingLineNumber = "266"
startingLineNumber = "267"
endingLineNumber = "267"
landmarkName = "imagePickerController(_:didFinishPickingMediaWithInfo:)"
landmarkType = "7">
</BreakpointContent>
......@@ -830,8 +814,8 @@
filePath = "Em-call/Data/SettingsLauncher.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "264"
endingLineNumber = "264"
startingLineNumber = "265"
endingLineNumber = "265"
landmarkName = "imagePickerController(_:didFinishPickingMediaWithInfo:)"
landmarkType = "7">
</BreakpointContent>
......@@ -846,8 +830,8 @@
filePath = "Em-call/Data/DataStorage.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "520"
endingLineNumber = "520"
startingLineNumber = "450"
endingLineNumber = "450"
landmarkName = "addListImageGalery(image:imageName:flagTypeGalery:)"
landmarkType = "7">
</BreakpointContent>
......@@ -1009,22 +993,6 @@
landmarkType = "3">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "091E38D9-4C22-4627-9E2F-7FBFD2A7CA36"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/DataStorage.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "266"
endingLineNumber = "266"
landmarkName = "load()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
......@@ -1035,8 +1003,8 @@
filePath = "Em-call/Data/DataStorage.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "516"
endingLineNumber = "516"
startingLineNumber = "446"
endingLineNumber = "446"
landmarkName = "addListImageGalery(image:imageName:flagTypeGalery:)"
landmarkType = "7">
</BreakpointContent>
......@@ -1051,25 +1019,9 @@
filePath = "Em-call/Data/DataStorage.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "254"
endingLineNumber = "254"
landmarkName = "load()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "E8B66009-6307-4F15-84C0-94FE8BB3677C"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/DataStorage.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "323"
endingLineNumber = "323"
landmarkName = "save(imageData:name:flagWorker:)"
startingLineNumber = "218"
endingLineNumber = "218"
landmarkName = "loadAll()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
......@@ -1077,14 +1029,14 @@
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "1C27E1CF-1531-4053-B022-B65B42DD551F"
shouldBeEnabled = "Yes"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/DataStorage.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "518"
endingLineNumber = "518"
startingLineNumber = "448"
endingLineNumber = "448"
landmarkName = "addListImageGalery(image:imageName:flagTypeGalery:)"
landmarkType = "7">
</BreakpointContent>
......@@ -1099,8 +1051,8 @@
filePath = "Em-call/VC/MainViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "156"
endingLineNumber = "156"
startingLineNumber = "164"
endingLineNumber = "164"
landmarkName = "viewDidLoad()"
landmarkType = "7">
</BreakpointContent>
......@@ -1117,8 +1069,8 @@
endingColumnNumber = "9223372036854775807"
startingLineNumber = "27"
endingLineNumber = "27"
landmarkName = "viewDidLoad()"
landmarkType = "7">
landmarkName = "unknown"
landmarkType = "0">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
......@@ -1131,8 +1083,8 @@
filePath = "Em-call/VC/PlumbersViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "77"
endingLineNumber = "77"
startingLineNumber = "95"
endingLineNumber = "95"
landmarkName = "back()"
landmarkType = "7">
</BreakpointContent>
......@@ -1147,8 +1099,8 @@
filePath = "Em-call/VC/ElectricTableViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "96"
endingLineNumber = "96"
startingLineNumber = "106"
endingLineNumber = "106"
landmarkName = "back()"
landmarkType = "7">
</BreakpointContent>
......@@ -1163,8 +1115,8 @@
filePath = "Em-call/VC/MainViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "365"
endingLineNumber = "365"
startingLineNumber = "372"
endingLineNumber = "372"
landmarkName = "selectedMenuCell(_:)"
landmarkType = "7">
</BreakpointContent>
......@@ -1179,8 +1131,8 @@
filePath = "Em-call/Data/SettingsLauncher.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "362"
endingLineNumber = "362"
startingLineNumber = "363"
endingLineNumber = "363"
landmarkName = "tableView(_:didSelectRowAt:)"
landmarkType = "7">
</BreakpointContent>
......@@ -1195,8 +1147,8 @@
filePath = "Em-call/VC/MainViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "368"
endingLineNumber = "368"
startingLineNumber = "375"
endingLineNumber = "375"
landmarkName = "selectedMenuCell(_:)"
landmarkType = "7">
</BreakpointContent>
......@@ -1211,8 +1163,8 @@
filePath = "Em-call/VC/MainViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "357"
endingLineNumber = "357"
startingLineNumber = "364"
endingLineNumber = "364"
landmarkName = "selectedMenuCell(_:)"
landmarkType = "7">
<Locations>
......@@ -1328,14 +1280,14 @@
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "17FF659E-9AA7-4C2A-8737-6C1961030388"
shouldBeEnabled = "Yes"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/DataStorage.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "331"
endingLineNumber = "331"
startingLineNumber = "352"
endingLineNumber = "352"
landmarkName = "save(imageData:name:flagWorker:)"
landmarkType = "7">
</BreakpointContent>
......@@ -1343,47 +1295,79 @@
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "DD9D333F-5FDC-46A5-9EAD-D2E1FBE0F6A6"
uuid = "D8264917-8D99-4818-95AA-77B78C78AAB7"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/DataStorage.swift"
filePath = "Em-call/Data/StringArrayTransformer.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "341"
endingLineNumber = "341"
landmarkName = "save(imageData:name:flagWorker:)"
startingLineNumber = "39"
endingLineNumber = "39"
landmarkName = "transformedValue(_:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "88258768-052C-4E01-9630-D1873EDB31F1"
uuid = "899DCCDC-CA78-4AF2-A960-CBB7DEF86B52"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/NSArrayValueTransformer.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "36"
endingLineNumber = "36"
landmarkName = "transformedValue(_:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "825D5ED3-8172-4001-BE1B-DFAF30FBF44C"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/NSArrayValueTransformer.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "38"
endingLineNumber = "38"
landmarkName = "transformedValue(_:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "FC015FBE-7A97-4097-8988-03CC68B7AC5E"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/DataStorage.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "392"
endingLineNumber = "392"
landmarkName = "save(imageData:name:flagWorker:)"
startingLineNumber = "474"
endingLineNumber = "474"
landmarkName = "addListImageGalery(image:imageName:flagTypeGalery:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "D8264917-8D99-4818-95AA-77B78C78AAB7"
shouldBeEnabled = "Yes"
uuid = "D154C28E-4BA6-408F-9FAF-48F9DC894DE1"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/StringArrayTransformer.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "37"
endingLineNumber = "37"
startingLineNumber = "41"
endingLineNumber = "41"
landmarkName = "transformedValue(_:)"
landmarkType = "7">
</BreakpointContent>
......@@ -1391,31 +1375,47 @@
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "899DCCDC-CA78-4AF2-A960-CBB7DEF86B52"
uuid = "4D7EB540-8C9F-41AC-B211-2635A442C72A"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/StringArrayTransformer.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "51"
endingLineNumber = "51"
landmarkName = "reverseTransformedValue(_:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "5FB81EAE-30B8-496E-940B-6E8832C0E30B"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/NSArrayValueTransformer.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "34"
endingLineNumber = "34"
landmarkName = "transformedValue(_:)"
startingLineNumber = "48"
endingLineNumber = "48"
landmarkName = "reverseTransformedValue(_:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "825D5ED3-8172-4001-BE1B-DFAF30FBF44C"
shouldBeEnabled = "No"
uuid = "74C283BF-0185-4B2D-8A9E-6D5E67EF0AF3"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/NSArrayValueTransformer.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "36"
endingLineNumber = "36"
startingLineNumber = "40"
endingLineNumber = "40"
landmarkName = "transformedValue(_:)"
landmarkType = "7">
</BreakpointContent>
......@@ -1423,47 +1423,63 @@
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "FC015FBE-7A97-4097-8988-03CC68B7AC5E"
shouldBeEnabled = "No"
uuid = "DAC2CFC7-651F-4758-9B45-C33E9EA90587"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/DataStorage.swift"
filePath = "Em-call/Data/NSArrayValueTransformer.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "548"
endingLineNumber = "548"
landmarkName = "addListImageGalery(image:imageName:flagTypeGalery:)"
startingLineNumber = "53"
endingLineNumber = "53"
landmarkName = "reverseTransformedValue(_:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "EBD3B0E9-23B6-4481-A617-7ADF7D5BF016"
uuid = "E55F50E6-DE03-4827-852D-497B67E470DA"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/DataStorage.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "387"
endingLineNumber = "387"
landmarkName = "save(imageData:name:flagWorker:)"
startingLineNumber = "108"
endingLineNumber = "108"
landmarkName = "init()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "D154C28E-4BA6-408F-9FAF-48F9DC894DE1"
shouldBeEnabled = "No"
uuid = "326F4A9D-456F-47DC-AF51-C456D51553A3"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/NSArrayValueTransformer.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "42"
endingLineNumber = "42"
landmarkName = "transformedValue(_:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "7DF2C499-470F-431F-B80D-09CD1E60137E"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/StringArrayTransformer.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "39"
endingLineNumber = "39"
startingLineNumber = "46"
endingLineNumber = "46"
landmarkName = "transformedValue(_:)"
landmarkType = "7">
</BreakpointContent>
......@@ -1471,15 +1487,15 @@
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "520677EC-3F99-4CB2-A0ED-48EF8E6C58C4"
uuid = "762F91E2-C376-465D-9554-2D5C5BCFD447"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/DataStorage.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "388"
endingLineNumber = "388"
startingLineNumber = "393"
endingLineNumber = "393"
landmarkName = "save(imageData:name:flagWorker:)"
landmarkType = "7">
</BreakpointContent>
......@@ -1487,15 +1503,15 @@
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "2CA9EFC0-F5F9-4ED7-A5B7-0BC5EEF152FC"
uuid = "E3B00239-B27D-479E-AE4D-381473D60317"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/DataStorage.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "354"
endingLineNumber = "354"
startingLineNumber = "343"
endingLineNumber = "343"
landmarkName = "save(imageData:name:flagWorker:)"
landmarkType = "7">
</BreakpointContent>
......@@ -1503,177 +1519,209 @@
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "4D7EB540-8C9F-41AC-B211-2635A442C72A"
shouldBeEnabled = "Yes"
uuid = "514B504A-1EA2-4DB0-95EE-C4AEE7A070C9"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/StringArrayTransformer.swift"
filePath = "Em-call/VC/ElectricTableViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "75"
endingLineNumber = "75"
landmarkName = "viewWillAppear(_:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "4F818D61-31D3-4A1A-8A1B-F3F45DF5F05B"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/VC/LocsmithVCViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "49"
endingLineNumber = "49"
landmarkName = "reverseTransformedValue(_:)"
landmarkName = "viewDidLoad()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "5FB81EAE-30B8-496E-940B-6E8832C0E30B"
uuid = "3AE0DF98-CCDE-4F92-92B4-E79F7150BC74"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/NSArrayValueTransformer.swift"
filePath = "Em-call/Data/DataStorage.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "45"
endingLineNumber = "45"
landmarkName = "reverseTransformedValue(_:)"
startingLineNumber = "368"
endingLineNumber = "368"
landmarkName = "save(imageData:name:flagWorker:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "74C283BF-0185-4B2D-8A9E-6D5E67EF0AF3"
uuid = "7EEE968A-E131-4973-956C-322036A830E8"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/NSArrayValueTransformer.swift"
filePath = "Em-call/Data/DataStorage.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "38"
endingLineNumber = "38"
landmarkName = "transformedValue(_:)"
startingLineNumber = "181"
endingLineNumber = "181"
landmarkName = "getManObj_1()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "DAC2CFC7-651F-4758-9B45-C33E9EA90587"
shouldBeEnabled = "No"
uuid = "0BA4F5FE-5D74-482F-8FFF-7023D8490639"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/NSArrayValueTransformer.swift"
filePath = "Em-call/Data/DataStorage.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "50"
endingLineNumber = "50"
landmarkName = "reverseTransformedValue(_:)"
startingLineNumber = "188"
endingLineNumber = "188"
landmarkName = "getManObj_1()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "E55F50E6-DE03-4827-852D-497B67E470DA"
shouldBeEnabled = "No"
uuid = "96918EBB-B89D-4CD9-867A-507419E9A3E9"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/DataStorage.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "107"
endingLineNumber = "107"
landmarkName = "init()"
startingLineNumber = "195"
endingLineNumber = "195"
landmarkName = "getManObj_1()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "C1AE31F3-F508-4120-99BF-D680535793FF"
uuid = "63C64B76-8576-409E-9969-E6E1488C148D"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/DataStorage.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "382"
endingLineNumber = "382"
landmarkName = "save(imageData:name:flagWorker:)"
startingLineNumber = "202"
endingLineNumber = "202"
landmarkName = "getManObj_1()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "326F4A9D-456F-47DC-AF51-C456D51553A3"
uuid = "EFB167A2-0456-4453-A5B0-16A2C9FBF485"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/NSArrayValueTransformer.swift"
filePath = "Em-call/Data/DataStorage.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "40"
endingLineNumber = "40"
landmarkName = "transformedValue(_:)"
startingLineNumber = "209"
endingLineNumber = "209"
landmarkName = "getManObj_1()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "7DF2C499-470F-431F-B80D-09CD1E60137E"
uuid = "FBE2DAED-EBEC-4025-8B60-8D967B7EE596"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/VC/HandmanViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "69"
endingLineNumber = "69"
landmarkName = "viewWillAppear(_:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "3D170203-5BDF-42F3-AA9C-074A03F0C1EB"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/StringArrayTransformer.swift"
filePath = "Em-call/VC/CallProfiViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "44"
endingLineNumber = "44"
landmarkName = "transformedValue(_:)"
startingLineNumber = "78"
endingLineNumber = "78"
landmarkName = "pressShowMap(_:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "42B68E32-9215-4440-9D93-2A2AEBEBE648"
uuid = "372BC2F0-00FD-45CF-BFE7-437D0F849402"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/DataStorage.swift"
filePath = "Em-call/SOTabBarItem.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "166"
endingLineNumber = "166"
landmarkName = "loadNSData()"
startingLineNumber = "34"
endingLineNumber = "34"
landmarkName = "init(tabBarItem:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "1458EE72-2DE3-4E03-9FD3-6FC9592103B0"
uuid = "3A0577B8-8EE0-407F-8710-63B7D10AF9EC"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/DataStorage.swift"
filePath = "Em-call/VC/MainVCViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "224"
endingLineNumber = "224"
landmarkName = "loadNSData()"
landmarkType = "7">
startingLineNumber = "51"
endingLineNumber = "51"
landmarkName = "unknown"
landmarkType = "0">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "4890E072-8FF5-44C9-8E97-DF17B57B5BEB"
uuid = "CD1F00FB-B90E-4293-8F58-1988AF945C6E"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Em-call/Data/DataStorage.swift"
filePath = "Em-call/VC/MainVCViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "374"
endingLineNumber = "374"
landmarkName = "save(imageData:name:flagWorker:)"
landmarkType = "7">
startingLineNumber = "69"
endingLineNumber = "69"
landmarkName = "unknown"
landmarkType = "0">
</BreakpointContent>
</BreakpointProxy>
</Breakpoints>
......
......@@ -52,12 +52,24 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
// } else {
// storyboard = UIStoryboard(name: "MainOld", bundle: nil)
// }
let mainViewController = storyboard.instantiateInitialViewController()
window?.rootViewController = mainViewController
// if let tabBarController = self.window!.rootViewController as? UITabBarController {
// tabBarController.selectedIndex = 1
// }
let mainViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "MainVC") as! MainVCViewController
// mainViewController.selectedIndex = 1
self.window?.rootViewController = mainViewController
window?.makeKeyAndVisible()
NSArrayValueTransformer.register()
StringArrayTransformer.register()
self.window?.makeKeyAndVisible()
/* if #available(iOS 12.0, *) {
NSArrayValueTransformer.register()
} else {
// Fallback on earlier versions
}
if #available(iOS 12.0, *) {
StringArrayTransformer.register()
} else {
// Fallback on earlier versions
}*/
return true
}
......
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "black_arrow-left.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
......@@ -362,36 +362,36 @@
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<searchBar contentMode="redraw" translatesAutoresizingMaskIntoConstraints="NO" id="R8G-7p-IhW">
<rect key="frame" x="8" y="88" width="398" height="56"/>
<rect key="frame" x="8" y="44" width="398" height="56"/>
<textInputTraits key="textInputTraits"/>
</searchBar>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="imageView:SuZ-gz-IRl:image" translatesAutoresizingMaskIntoConstraints="NO" id="SuZ-gz-IRl">
<rect key="frame" x="27" y="158" width="47" height="41.5"/>
<rect key="frame" x="27" y="114" width="47" height="41.5"/>
<constraints>
<constraint firstAttribute="width" constant="47" id="Zkr-3Y-zJi"/>
<constraint firstAttribute="height" constant="41.5" id="bYT-VU-Yqc"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="LOGO" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1Tr-be-lfN">
<rect key="frame" x="101" y="158" width="47" height="21"/>
<rect key="frame" x="101" y="114" width="47" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Hello!" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vih-Z8-Ejj">
<rect key="frame" x="101" y="187" width="44" height="21"/>
<rect key="frame" x="101" y="143" width="44" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="16.02.2022" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0Ew-Tq-5Ck">
<rect key="frame" x="308" y="168" width="86" height="21.5"/>
<rect key="frame" x="308" y="124" width="86" height="21.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="bCz-O3-eOV">
<rect key="frame" x="40" y="223" width="334" height="34"/>
<rect key="frame" x="40" y="179" width="334" height="34"/>
<color key="backgroundColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<fontDescription key="fontDescription" type="system" pointSize="18"/>
<state key="normal" title="Start chat">
......@@ -438,20 +438,20 @@
<!--Plumbers-->
<scene sceneID="94d-gd-X6A">
<objects>
<viewController title="Plumbers" extendedLayoutIncludesOpaqueBars="YES" definesPresentationContext="YES" modalTransitionStyle="crossDissolve" modalPresentationStyle="currentContext" interfaceStyle="dark" id="HPQ-ND-dIY" customClass="PlumbersViewController" customModule="Em_call" customModuleProvider="target" sceneMemberID="viewController">
<viewController title="Plumbers" modalTransitionStyle="crossDissolve" modalPresentationStyle="currentContext" interfaceStyle="dark" id="HPQ-ND-dIY" customClass="PlumbersViewController" customModule="Em_call" customModuleProvider="target" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="VOx-Tk-5r7"/>
<viewControllerLayoutGuide type="bottom" id="xPs-uo-G5w"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="K37-Qi-Hec">
<rect key="frame" x="0.0" y="0.0" width="414" height="1000"/>
<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="sJN-Za-oos">
<rect key="frame" x="0.0" y="52" width="404" height="1109"/>
<rect key="frame" x="0.0" y="52" width="404" height="1005"/>
<subviews>
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="bt3-GW-sTZ">
<rect key="frame" x="9" y="-9" width="380" height="150"/>
<rect key="frame" x="9" y="-9" width="392" height="150"/>
<subviews>
<button clipsSubviews="YES" alpha="0.5" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="sWq-R0-tiy">
<rect key="frame" x="8" y="50" width="364" height="29"/>
......@@ -486,13 +486,13 @@
<textInputTraits key="textInputTraits" autocapitalizationType="sentences" enablesReturnKeyAutomatically="YES"/>
</textView>
</subviews>
<color key="backgroundColor" systemColor="systemGroupedBackgroundColor"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<accessibility key="accessibilityConfiguration">
<accessibilityTraits key="traits" allowsDirectInteraction="YES"/>
</accessibility>
<constraints>
<constraint firstItem="27h-eQ-T2E" firstAttribute="top" secondItem="sWq-R0-tiy" secondAttribute="bottom" constant="8" symbolic="YES" id="1ps-V4-KNK"/>
<constraint firstItem="sWq-R0-tiy" firstAttribute="trailing" secondItem="bt3-GW-sTZ" secondAttribute="trailingMargin" id="1vN-NY-3tb"/>
<constraint firstItem="sWq-R0-tiy" firstAttribute="trailing" secondItem="bt3-GW-sTZ" secondAttribute="trailingMargin" constant="-12" id="1vN-NY-3tb"/>
<constraint firstItem="sWq-R0-tiy" firstAttribute="top" secondItem="K1d-cO-vjf" secondAttribute="bottom" constant="8" symbolic="YES" id="Bbe-LF-UYK"/>
<constraint firstItem="K1d-cO-vjf" firstAttribute="leading" secondItem="bt3-GW-sTZ" secondAttribute="leading" constant="51" id="CJX-Xg-Gwg"/>
<constraint firstItem="K1d-cO-vjf" firstAttribute="top" secondItem="bt3-GW-sTZ" secondAttribute="top" constant="21" id="CpW-Zb-TOn"/>
......@@ -515,16 +515,19 @@
<action selector="pressAddPhoto:" destination="HPQ-ND-dIY" eventType="touchUpInside" id="9MV-ch-vRv"/>
</connections>
</button>
<view contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="RDf-dd-6f6" customClass="GlidingCollection" customModule="Em_call" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="390" height="105"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="RDf-dd-6f6" customClass="GlidingCollection" customModule="Em_call" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="390" height="111"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
</view>
</subviews>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints>
<constraint firstItem="RDf-dd-6f6" firstAttribute="leading" secondItem="gZa-oX-G5J" secondAttribute="leading" id="4sq-c8-fqr"/>
<constraint firstItem="RDf-dd-6f6" firstAttribute="top" secondItem="gZa-oX-G5J" secondAttribute="top" id="4vn-Yz-Nc1"/>
<constraint firstItem="zDq-Ts-din" firstAttribute="leading" secondItem="gZa-oX-G5J" secondAttribute="leading" constant="143" id="JWS-nC-WTu"/>
<constraint firstItem="zDq-Ts-din" firstAttribute="top" secondItem="gZa-oX-G5J" secondAttribute="top" constant="45" id="RRO-Wh-owP"/>
<constraint firstItem="RDf-dd-6f6" firstAttribute="centerX" secondItem="zDq-Ts-din" secondAttribute="centerX" id="gEh-c0-sAo"/>
<constraint firstItem="RDf-dd-6f6" firstAttribute="bottom" secondItem="gZa-oX-G5J" secondAttribute="bottomMargin" constant="-15" id="tRe-in-9fS"/>
</constraints>
</view>
<button contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="sxO-gf-e0v">
......@@ -579,17 +582,17 @@
</userDefinedRuntimeAttributes>
</button>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" scrollEnabled="NO" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" indicatorStyle="white" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="E8J-vs-wAK">
<rect key="frame" x="14" y="291" width="374" height="334"/>
<rect key="frame" x="14" y="291" width="382" height="334"/>
<constraints>
<constraint firstAttribute="height" constant="334" id="mfz-sU-Hry"/>
</constraints>
<color key="sectionIndexColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="cust_cell" id="JYA-nE-K0p" customClass="CustCellTableViewCell" customModule="Em_call" customModuleProvider="target">
<rect key="frame" x="0.0" y="28" width="374" height="44"/>
<rect key="frame" x="0.0" y="28" width="382" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="JYA-nE-K0p" id="5LZ-id-136">
<rect key="frame" x="0.0" y="0.0" width="374" height="44"/>
<rect key="frame" x="0.0" y="0.0" width="382" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" image="eva_pin-fill" translatesAutoresizingMaskIntoConstraints="NO" id="YJE-6g-eN6">
......@@ -617,10 +620,10 @@
</connections>
</tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="cust_cell2" id="Oen-Wo-ExV" customClass="CustCellTableViewCell" customModule="Em_call" customModuleProvider="target">
<rect key="frame" x="0.0" y="72" width="374" height="39"/>
<rect key="frame" x="0.0" y="72" width="382" height="39"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="Oen-Wo-ExV" id="Ich-bZ-K7U">
<rect key="frame" x="0.0" y="0.0" width="374" height="39"/>
<rect key="frame" x="0.0" y="0.0" width="382" height="39"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="customLabel2" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="4cQ-3I-f40">
......@@ -651,17 +654,17 @@
<constraint firstItem="g7J-sU-JF3" firstAttribute="trailing" secondItem="FCC-73-4eE" secondAttribute="trailing" constant="14" id="62t-MJ-QNY"/>
<constraint firstItem="E8J-vs-wAK" firstAttribute="leading" secondItem="g7J-sU-JF3" secondAttribute="leading" constant="14" id="735-nW-isk"/>
<constraint firstItem="g7J-sU-JF3" firstAttribute="trailing" secondItem="jdP-Qc-1W1" secondAttribute="trailing" constant="14" id="CYU-6W-lQd"/>
<constraint firstItem="g7J-sU-JF3" firstAttribute="trailing" secondItem="E8J-vs-wAK" secondAttribute="trailing" constant="16" id="EdP-Sn-KEV"/>
<constraint firstItem="g7J-sU-JF3" firstAttribute="trailing" secondItem="E8J-vs-wAK" secondAttribute="trailing" constant="8" id="EdP-Sn-KEV"/>
<constraint firstItem="FCC-73-4eE" firstAttribute="top" secondItem="sxO-gf-e0v" secondAttribute="bottom" constant="9" id="KGL-SY-Hn6"/>
<constraint firstItem="g7J-sU-JF3" firstAttribute="trailing" secondItem="sxO-gf-e0v" secondAttribute="trailing" constant="14" id="KRF-gX-ehe"/>
<constraint firstAttribute="trailing" secondItem="bt3-GW-sTZ" secondAttribute="trailing" constant="15" id="NV9-I8-Rjk"/>
<constraint firstAttribute="trailing" secondItem="bt3-GW-sTZ" secondAttribute="trailing" constant="3" id="NV9-I8-Rjk"/>
<constraint firstItem="FCC-73-4eE" firstAttribute="leading" secondItem="g7J-sU-JF3" secondAttribute="leading" constant="14" id="Sy4-h8-AXl"/>
<constraint firstItem="jdP-Qc-1W1" firstAttribute="leading" secondItem="g7J-sU-JF3" secondAttribute="leading" constant="14" id="bzx-Gx-KjQ"/>
<constraint firstItem="sxO-gf-e0v" firstAttribute="top" secondItem="E8J-vs-wAK" secondAttribute="bottom" constant="22" id="c4e-T9-bsK"/>
<constraint firstItem="bt3-GW-sTZ" firstAttribute="top" secondItem="g7J-sU-JF3" secondAttribute="top" constant="27" id="cYv-HK-KtJ"/>
<constraint firstItem="E8J-vs-wAK" firstAttribute="top" secondItem="gZa-oX-G5J" secondAttribute="bottom" constant="8" symbolic="YES" id="kBG-d7-ag1"/>
<constraint firstItem="sxO-gf-e0v" firstAttribute="leading" secondItem="g7J-sU-JF3" secondAttribute="leading" constant="14" id="m1Z-Wi-oCj"/>
<constraint firstItem="g7J-sU-JF3" firstAttribute="trailing" secondItem="bt3-GW-sTZ" secondAttribute="trailing" constant="15" id="mEx-Ux-xjF"/>
<constraint firstItem="g7J-sU-JF3" firstAttribute="trailing" secondItem="bt3-GW-sTZ" secondAttribute="trailing" constant="3" id="mEx-Ux-xjF"/>
<constraint firstItem="bt3-GW-sTZ" firstAttribute="leading" secondItem="g7J-sU-JF3" secondAttribute="leading" constant="9" id="pDX-1A-qgk"/>
<constraint firstItem="sxO-gf-e0v" firstAttribute="leading" secondItem="g7J-sU-JF3" secondAttribute="leading" constant="14" id="qIc-5r-EWk"/>
<constraint firstAttribute="bottom" secondItem="jdP-Qc-1W1" secondAttribute="bottom" constant="322" id="t3m-Fh-bea"/>
......@@ -681,7 +684,6 @@
</view>
<navigationItem key="navigationItem" title="Plumbers" largeTitleDisplayMode="never" id="vtJ-lE-7WK"/>
<simulatedTabBarMetrics key="simulatedBottomBarMetrics"/>
<size key="freeformSize" width="414" height="1000"/>
<connections>
<outlet property="addPhotoTopConstraint" destination="RRO-Wh-owP" id="MiT-cV-Xrb"/>
<outlet property="glidingView" destination="RDf-dd-6f6" id="bYT-uW-Jdq"/>
......@@ -691,7 +693,269 @@
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="qZ4-Xu-JRG" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="4265" y="15"/>
<point key="canvasLocation" x="4298.5507246376819" y="-29.464285714285712"/>
</scene>
<!--Locksmith-->
<scene sceneID="5O1-Qr-gqI">
<objects>
<viewController storyboardIdentifier="Locksmith" title="Locksmith" modalTransitionStyle="crossDissolve" modalPresentationStyle="fullScreen" useStoryboardIdentifierAsRestorationIdentifier="YES" id="wFx-mz-p5h" customClass="LocsmithVCViewController" customModule="Em_call" customModuleProvider="target" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="tTh-Zr-vza"/>
<viewControllerLayoutGuide type="bottom" id="chT-Dy-Og6"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="8P0-k5-XZD">
<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="jrJ-rf-Vhv">
<rect key="frame" x="19" y="54" width="376" height="808"/>
<subviews>
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="tlD-NA-GT6">
<rect key="frame" x="9" y="-7" width="352" height="148"/>
<subviews>
<button clipsSubviews="YES" alpha="0.5" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="nR4-BY-v5G">
<rect key="frame" x="8" y="50" width="336" height="29"/>
<color key="backgroundColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<state key="normal" title="Start typing the task name and choose the right one">
<color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="7"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="number" keyPath="layer.borderWidth">
<integer key="value" value="2"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</button>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Choose a task or discribe a problem" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="W4U-z6-SZI">
<rect key="frame" x="51" y="21" width="273.5" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" contentInsetAdjustmentBehavior="scrollableAxes" text="Discribe your problem. For example Entering electricity into the house." textAlignment="justified" translatesAutoresizingMaskIntoConstraints="NO" id="afj-H3-Fye">
<rect key="frame" x="8" y="87" width="336" height="53"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<viewLayoutGuide key="contentLayoutGuide" id="gJW-Xn-RpB"/>
<viewLayoutGuide key="frameLayoutGuide" id="dfe-NT-Gk4"/>
<color key="textColor" systemColor="labelColor"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits" autocapitalizationType="sentences" enablesReturnKeyAutomatically="YES"/>
</textView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<accessibility key="accessibilityConfiguration">
<accessibilityTraits key="traits" allowsDirectInteraction="YES"/>
</accessibility>
<constraints>
<constraint firstItem="afj-H3-Fye" firstAttribute="trailing" secondItem="nR4-BY-v5G" secondAttribute="trailing" id="G8H-0k-xRc"/>
<constraint firstItem="nR4-BY-v5G" firstAttribute="leading" secondItem="tlD-NA-GT6" secondAttribute="leadingMargin" id="H7P-JS-TJX"/>
<constraint firstItem="afj-H3-Fye" firstAttribute="leading" secondItem="nR4-BY-v5G" secondAttribute="leading" id="S5I-6B-pgH"/>
<constraint firstItem="W4U-z6-SZI" firstAttribute="top" secondItem="tlD-NA-GT6" secondAttribute="top" constant="21" id="fOc-d2-boR"/>
<constraint firstItem="nR4-BY-v5G" firstAttribute="top" secondItem="W4U-z6-SZI" secondAttribute="bottom" constant="8" symbolic="YES" id="jNa-Ht-rpA"/>
<constraint firstItem="afj-H3-Fye" firstAttribute="bottom" secondItem="tlD-NA-GT6" secondAttribute="bottomMargin" id="p2A-SN-vjs"/>
<constraint firstItem="nR4-BY-v5G" firstAttribute="trailing" secondItem="tlD-NA-GT6" secondAttribute="trailingMargin" id="qGc-So-xZD"/>
<constraint firstItem="afj-H3-Fye" firstAttribute="top" secondItem="nR4-BY-v5G" secondAttribute="bottom" constant="8" symbolic="YES" id="tNu-TK-3yj"/>
<constraint firstItem="W4U-z6-SZI" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="tlD-NA-GT6" secondAttribute="leading" symbolic="YES" id="uXN-ed-iHx"/>
<constraint firstAttribute="trailing" secondItem="W4U-z6-SZI" secondAttribute="trailing" constant="27.5" id="w3F-PT-5ZK"/>
</constraints>
</view>
<view contentMode="scaleToFill" id="9sV-2x-Bhi">
<rect key="frame" x="14" y="149" width="390" height="134"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="1zS-Te-fgB">
<rect key="frame" x="143" y="45" width="104" height="22"/>
<state key="normal" title="Add photo" image="plus.viewfinder" catalog="system">
<color key="titleColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<connections>
<action selector="pressAddPhoto:" destination="HPQ-ND-dIY" eventType="touchUpInside" id="Izf-JB-uBa"/>
<action selector="pressAddPhoto:" destination="wFx-mz-p5h" eventType="touchUpInside" id="wND-Nb-x2u"/>
</connections>
</button>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Nbz-T7-RxZ" customClass="GlidingCollection" customModule="Em_call" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="358" height="113"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
</view>
</subviews>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints>
<constraint firstItem="1zS-Te-fgB" firstAttribute="leading" secondItem="9sV-2x-Bhi" secondAttribute="leading" constant="143" id="FIU-d3-ck6"/>
<constraint firstItem="1zS-Te-fgB" firstAttribute="top" secondItem="9sV-2x-Bhi" secondAttribute="top" constant="45" id="XmZ-jW-YdN"/>
<constraint firstItem="Nbz-T7-RxZ" firstAttribute="leading" secondItem="9sV-2x-Bhi" secondAttribute="leading" id="ajM-CS-wFI"/>
<constraint firstAttribute="trailing" secondItem="Nbz-T7-RxZ" secondAttribute="trailing" constant="32" id="arh-9N-wWL"/>
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="1zS-Te-fgB" secondAttribute="trailing" constant="20" symbolic="YES" id="hPv-oa-kBg"/>
<constraint firstItem="Nbz-T7-RxZ" firstAttribute="top" secondItem="9sV-2x-Bhi" secondAttribute="top" id="hSk-2z-3gj"/>
<constraint firstAttribute="bottom" secondItem="Nbz-T7-RxZ" secondAttribute="bottom" constant="21" id="ytB-ku-zQe"/>
</constraints>
</view>
<button contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="cHz-oc-gJr">
<rect key="frame" x="14" y="647" width="348" height="29"/>
<color key="backgroundColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<state key="normal" title="BOOK NOW">
<color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="7"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="number" keyPath="layer.borderWidth">
<integer key="value" value="2"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
<action selector="pressBookNow:" destination="wFx-mz-p5h" eventType="touchUpInside" id="ixa-jt-msb"/>
</connections>
</button>
<button clipsSubviews="YES" alpha="0.5" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="R2g-G2-bFE">
<rect key="frame" x="14" y="685" width="348" height="29"/>
<color key="backgroundColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<state key="normal" title="EDIT">
<color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="7"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="number" keyPath="layer.borderWidth">
<integer key="value" value="2"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</button>
<button clipsSubviews="YES" alpha="0.5" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="0Ox-n7-dfl">
<rect key="frame" x="14" y="722" width="348" height="29"/>
<color key="backgroundColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<state key="normal" title="DELETE">
<color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="7"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="number" keyPath="layer.borderWidth">
<integer key="value" value="2"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</button>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" scrollEnabled="NO" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" indicatorStyle="white" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="ze7-dz-PS9">
<rect key="frame" x="14" y="291" width="354" height="334"/>
<constraints>
<constraint firstAttribute="height" constant="334" id="8Nn-Ok-f8l"/>
</constraints>
<color key="sectionIndexColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="cust_cell" id="6j4-TV-AKB" customClass="CustCellTableViewCell" customModule="Em_call" customModuleProvider="target">
<rect key="frame" x="0.0" y="28" width="354" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="6j4-TV-AKB" id="zTO-fm-yUs">
<rect key="frame" x="0.0" y="0.0" width="354" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="eva_pin-fill" translatesAutoresizingMaskIntoConstraints="NO" id="8D8-an-f45">
<rect key="frame" x="21" y="11" width="12" height="17"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="customLabel" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="K5j-3l-X1G">
<rect key="frame" x="41" y="11" width="83" height="17"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstItem="K5j-3l-X1G" firstAttribute="leading" secondItem="zTO-fm-yUs" secondAttribute="leading" constant="41" id="4qa-Ve-Khj"/>
<constraint firstItem="K5j-3l-X1G" firstAttribute="leading" secondItem="8D8-an-f45" secondAttribute="trailing" constant="8" id="9b1-Qs-nT9"/>
<constraint firstItem="K5j-3l-X1G" firstAttribute="bottom" secondItem="8D8-an-f45" secondAttribute="bottom" id="Lh1-y1-8Gt"/>
<constraint firstItem="K5j-3l-X1G" firstAttribute="top" secondItem="8D8-an-f45" secondAttribute="top" id="Pnx-pX-nA6"/>
<constraint firstItem="K5j-3l-X1G" firstAttribute="top" secondItem="zTO-fm-yUs" secondAttribute="topMargin" id="dhV-QR-FmL"/>
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="K5j-3l-X1G" secondAttribute="trailing" constant="20" symbolic="YES" id="njP-Ut-XUI"/>
<constraint firstItem="8D8-an-f45" firstAttribute="leading" secondItem="zTO-fm-yUs" secondAttribute="leadingMargin" constant="1" id="paC-5o-ySH"/>
</constraints>
</tableViewCellContentView>
<connections>
<outlet property="custCell" destination="K5j-3l-X1G" id="YGw-U8-kC5"/>
<outlet property="imageCell" destination="8D8-an-f45" id="l53-tI-Q0x"/>
</connections>
</tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="cust_cell2" id="PtQ-WG-xVh" customClass="CustCellTableViewCell" customModule="Em_call" customModuleProvider="target">
<rect key="frame" x="0.0" y="72" width="354" height="39"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="PtQ-WG-xVh" id="HJz-rU-cme">
<rect key="frame" x="0.0" y="0.0" width="354" height="39"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="customLabel2" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="MTB-ez-vHw">
<rect key="frame" x="20" y="11" width="91.5" height="17"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstItem="MTB-ez-vHw" firstAttribute="centerY" secondItem="HJz-rU-cme" secondAttribute="centerY" id="OyN-8p-aiT"/>
<constraint firstItem="MTB-ez-vHw" firstAttribute="leading" secondItem="HJz-rU-cme" secondAttribute="leadingMargin" id="Pfv-2j-SD9"/>
<constraint firstAttribute="trailingMargin" relation="greaterThanOrEqual" secondItem="MTB-ez-vHw" secondAttribute="trailing" id="ScI-mh-Pzz"/>
<constraint firstItem="MTB-ez-vHw" firstAttribute="top" secondItem="HJz-rU-cme" secondAttribute="topMargin" id="k6J-RJ-HHH"/>
</constraints>
</tableViewCellContentView>
<connections>
<outlet property="custCell" destination="MTB-ez-vHw" id="dCB-eD-xMr"/>
<outlet property="custCell2" destination="MTB-ez-vHw" id="yvZ-pb-UTb"/>
</connections>
</tableViewCell>
</prototypes>
<sections/>
</tableView>
</subviews>
<constraints>
<constraint firstItem="0Ox-n7-dfl" firstAttribute="top" secondItem="R2g-G2-bFE" secondAttribute="bottom" constant="8" symbolic="YES" id="3Xd-YM-32d"/>
<constraint firstItem="0Ox-n7-dfl" firstAttribute="leading" secondItem="pqf-ol-B8R" secondAttribute="leading" constant="14" id="7Tm-Nd-ueY"/>
<constraint firstItem="pqf-ol-B8R" firstAttribute="trailing" secondItem="tlD-NA-GT6" secondAttribute="trailing" constant="15" id="FMe-ec-3XM"/>
<constraint firstItem="pqf-ol-B8R" firstAttribute="trailing" secondItem="R2g-G2-bFE" secondAttribute="trailing" constant="14" id="HmF-nv-3jk"/>
<constraint firstItem="cHz-oc-gJr" firstAttribute="top" secondItem="ze7-dz-PS9" secondAttribute="bottom" constant="22" id="Ibu-wa-19f"/>
<constraint firstAttribute="trailing" secondItem="tlD-NA-GT6" secondAttribute="trailing" constant="15" id="LJm-SG-kMf"/>
<constraint firstItem="pqf-ol-B8R" firstAttribute="trailing" secondItem="ze7-dz-PS9" secondAttribute="trailing" constant="8" id="O1y-Kc-9XU"/>
<constraint firstItem="pqf-ol-B8R" firstAttribute="trailing" secondItem="cHz-oc-gJr" secondAttribute="trailing" constant="14" id="OWF-LT-RBZ"/>
<constraint firstItem="R2g-G2-bFE" firstAttribute="leading" secondItem="pqf-ol-B8R" secondAttribute="leading" constant="14" id="P1t-eA-cLK"/>
<constraint firstItem="pqf-ol-B8R" firstAttribute="trailing" secondItem="0Ox-n7-dfl" secondAttribute="trailing" constant="14" id="XHV-Th-9UN"/>
<constraint firstItem="tlD-NA-GT6" firstAttribute="top" secondItem="pqf-ol-B8R" secondAttribute="top" constant="27" id="XhB-DX-RW0"/>
<constraint firstItem="tlD-NA-GT6" firstAttribute="leading" secondItem="pqf-ol-B8R" secondAttribute="leading" constant="9" id="a59-Bl-gkp"/>
<constraint firstItem="cHz-oc-gJr" firstAttribute="leading" secondItem="pqf-ol-B8R" secondAttribute="leading" constant="14" id="aN9-Ee-f89"/>
<constraint firstAttribute="bottom" secondItem="0Ox-n7-dfl" secondAttribute="bottom" constant="254" id="b6j-Vb-evw"/>
<constraint firstItem="R2g-G2-bFE" firstAttribute="top" secondItem="cHz-oc-gJr" secondAttribute="bottom" constant="9" id="cEK-7j-1cm"/>
<constraint firstItem="ze7-dz-PS9" firstAttribute="leading" secondItem="pqf-ol-B8R" secondAttribute="leading" constant="14" id="cYh-iH-R2T"/>
<constraint firstItem="9sV-2x-Bhi" firstAttribute="top" secondItem="tlD-NA-GT6" secondAttribute="bottom" constant="8" id="suP-lM-epz"/>
<constraint firstItem="cHz-oc-gJr" firstAttribute="leading" secondItem="pqf-ol-B8R" secondAttribute="leading" constant="14" id="tm9-iC-q3s"/>
<constraint firstItem="ze7-dz-PS9" firstAttribute="top" secondItem="9sV-2x-Bhi" secondAttribute="bottom" constant="8" symbolic="YES" id="wRQ-H2-Dfv"/>
</constraints>
<viewLayoutGuide key="contentLayoutGuide" id="2uF-FA-7rb"/>
<viewLayoutGuide key="frameLayoutGuide" id="pqf-ol-B8R"/>
</scrollView>
</subviews>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints>
<constraint firstItem="jrJ-rf-Vhv" firstAttribute="centerX" secondItem="8P0-k5-XZD" secondAttribute="centerX" id="Hxk-17-Xfe"/>
<constraint firstItem="jrJ-rf-Vhv" firstAttribute="top" secondItem="8P0-k5-XZD" secondAttribute="topMargin" constant="-34" id="Vhc-Ts-JW9"/>
<constraint firstItem="chT-Dy-Og6" firstAttribute="top" secondItem="jrJ-rf-Vhv" secondAttribute="bottom" constant="-49" id="W7A-8I-ywd"/>
</constraints>
</view>
<navigationItem key="navigationItem" title="Locksmith" largeTitleDisplayMode="never" id="k6g-Ia-VFK"/>
<connections>
<outlet property="addPhotoTopConstraint" destination="XmZ-jW-YdN" id="YPY-Fk-OLR"/>
<outlet property="glidingView" destination="Nbz-T7-RxZ" id="CGw-h7-47l"/>
<outlet property="tableview" destination="ze7-dz-PS9" id="jWh-xx-Asr"/>
<outlet property="textViewDesc" destination="afj-H3-Fye" id="7L3-2s-rkr"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="wm3-ab-eXM" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="5231.884057971015" y="-29.464285714285712"/>
</scene>
<!--DataProfile-->
<scene sceneID="i1c-FV-6jH">
......@@ -837,8 +1101,8 @@
<viewControllerLayoutGuide type="top" id="E75-Gf-2A1"/>
<viewControllerLayoutGuide type="bottom" id="CLF-dx-gX7"/>
</layoutGuides>
<view key="view" autoresizesSubviews="NO" contentMode="scaleToFill" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="e3P-gk-m8N">
<rect key="frame" x="0.0" y="0.0" width="414" height="1181"/>
<view key="view" autoresizesSubviews="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="e3P-gk-m8N">
<rect key="frame" x="0.0" y="0.0" width="414" height="1264"/>
<subviews>
<scrollView multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" contentInsetAdjustmentBehavior="scrollableAxes" translatesAutoresizingMaskIntoConstraints="NO" id="YDj-oE-DKK">
<rect key="frame" x="18" y="88" width="376" height="1513"/>
......@@ -1221,22 +1485,6 @@
</objects>
<point key="canvasLocation" x="369.56521739130437" y="1568.9732142857142"/>
</scene>
<!--Navigation Controller-->
<scene sceneID="cRc-ng-2iC">
<objects>
<navigationController storyboardIdentifier="StartNavigationVC" modalPresentationStyle="fullScreen" useStoryboardIdentifierAsRestorationIdentifier="YES" navigationBarHidden="YES" id="f1V-c7-Vat" sceneMemberID="viewController">
<navigationItem key="navigationItem" id="q7c-Jn-4ba"/>
<navigationBar key="navigationBar" contentMode="scaleToFill" id="YDF-pS-vS6">
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<toolbar key="toolbar" opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" id="ETl-Bo-Txa">
<autoresizingMask key="autoresizingMask"/>
</toolbar>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="csF-Yh-NbR" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-732" y="246"/>
</scene>
<!--MainVC View Controller-->
<scene sceneID="bJR-8k-bP2">
<objects>
......@@ -1262,7 +1510,7 @@
<!--Main View Controller-->
<scene sceneID="Eei-cQ-h3K">
<objects>
<viewController storyboardIdentifier="Logo" modalTransitionStyle="crossDissolve" modalPresentationStyle="fullScreen" useStoryboardIdentifierAsRestorationIdentifier="YES" interfaceStyle="dark" id="3tU-MJ-808" customClass="MainViewController" customModule="Em_call" customModuleProvider="target" sceneMemberID="viewController">
<viewController storyboardIdentifier="Logo" modalTransitionStyle="crossDissolve" modalPresentationStyle="overCurrentContext" useStoryboardIdentifierAsRestorationIdentifier="YES" interfaceStyle="dark" id="3tU-MJ-808" customClass="MainViewController" customModule="Em_call" customModuleProvider="target" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="bfJ-Nd-98L"/>
<viewControllerLayoutGuide type="bottom" id="29T-bo-998"/>
......@@ -1381,7 +1629,7 @@
<color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<connections>
<segue destination="WFG-0l-cSg" kind="show" id="3fx-DJ-Go7"/>
<segue destination="pn9-ml-gRd" kind="show" id="UIN-GI-5iS"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="bottom" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="1SL-se-9O9">
......@@ -1396,6 +1644,7 @@
</state>
<connections>
<action selector="pressElectric:" destination="3tU-MJ-808" eventType="touchUpInside" id="730-hy-79X"/>
<segue destination="M0x-rT-c3r" kind="show" id="c46-N9-dDP"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="bottom" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="k9R-dK-sFh">
......@@ -1408,6 +1657,9 @@
<state key="normal" title="Locksmith" backgroundImage="lockico">
<color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<connections>
<segue destination="wFx-mz-p5h" kind="show" id="06f-Ne-qXq"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="bottom" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="8Fj-31-Iaf">
<rect key="frame" x="255" y="0.0" width="65" height="65"/>
......@@ -1422,7 +1674,7 @@
<color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<connections>
<segue destination="tCN-CA-hZW" kind="show" id="kwG-5B-SKM"/>
<segue destination="HPQ-ND-dIY" kind="show" id="mP6-Wp-Zbl"/>
</connections>
</button>
</subviews>
......@@ -1449,6 +1701,9 @@
<constraint firstAttribute="width" constant="45" id="uoc-yj-px9"/>
</constraints>
<state key="normal" backgroundImage="ico_loc_up"/>
<connections>
<segue destination="mn8-2R-meV" kind="show" id="YZk-ny-Vaw"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="l69-xc-Uun">
<rect key="frame" x="46" y="139" width="45" height="45"/>
......@@ -1766,24 +2021,24 @@
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="THa-gC-kNs" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="4497.1014492753629" y="-861.16071428571422"/>
<point key="canvasLocation" x="6001" y="-827"/>
</scene>
<!--Electric-->
<scene sceneID="Azi-KW-v7X">
<objects>
<viewController storyboardIdentifier="Electric" title="Electric" modalPresentationStyle="fullScreen" useStoryboardIdentifierAsRestorationIdentifier="YES" id="M0x-rT-c3r" customClass="ElectricTableViewController" customModule="Em_call" customModuleProvider="target" sceneMemberID="viewController">
<viewController storyboardIdentifier="Electric" title="Electric" modalPresentationStyle="fullScreen" useStoryboardIdentifierAsRestorationIdentifier="YES" interfaceStyle="dark" id="M0x-rT-c3r" customClass="ElectricTableViewController" customModule="Em_call" customModuleProvider="target" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="JGQ-oL-T3u"/>
<viewControllerLayoutGuide type="bottom" id="sNr-Zn-75u"/>
</layoutGuides>
<view key="view" clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Ox3-d8-QQc">
<rect key="frame" x="0.0" y="0.0" width="414" height="917"/>
<view key="view" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Ox3-d8-QQc">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<subviews>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wOb-kl-MC5">
<rect key="frame" x="7" y="123" width="396" height="966"/>
<rect key="frame" x="7" y="46" width="396" height="921"/>
<subviews>
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Uox-tQ-aHh">
<rect key="frame" x="8" y="33" width="380" height="155"/>
<rect key="frame" x="8" y="-9" width="380" height="169"/>
<subviews>
<button clipsSubviews="YES" alpha="0.5" contentMode="scaleToFill" verticalCompressionResistancePriority="751" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="2de-tU-xBf">
<rect key="frame" x="16" y="61.5" width="348" height="29"/>
......@@ -1812,7 +2067,7 @@
<nil key="highlightedColor"/>
</label>
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" text="Discribe your problem. For example Entering electricity into the house." textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="snE-N6-ZWS">
<rect key="frame" x="8" y="109.5" width="364" height="33"/>
<rect key="frame" x="8" y="99" width="356" height="64"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
......@@ -1828,14 +2083,14 @@
<color key="tintColor" white="0.89023987680000005" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="2de-tU-xBf" firstAttribute="top" secondItem="rqA-Rp-bTY" secondAttribute="bottom" constant="26" id="8As-9T-hzq"/>
<constraint firstAttribute="trailing" secondItem="snE-N6-ZWS" secondAttribute="trailing" constant="8" id="FrR-Xz-LxL"/>
<constraint firstItem="snE-N6-ZWS" firstAttribute="top" secondItem="2de-tU-xBf" secondAttribute="bottom" constant="19" id="Vnp-1J-7G2"/>
<constraint firstAttribute="trailing" secondItem="snE-N6-ZWS" secondAttribute="trailing" constant="16" id="FrR-Xz-LxL"/>
<constraint firstItem="snE-N6-ZWS" firstAttribute="top" secondItem="2de-tU-xBf" secondAttribute="bottom" constant="8.5" id="Vnp-1J-7G2"/>
<constraint firstItem="rqA-Rp-bTY" firstAttribute="top" secondItem="Uox-tQ-aHh" secondAttribute="top" constant="15" id="gRN-af-Vil"/>
<constraint firstItem="rqA-Rp-bTY" firstAttribute="centerX" secondItem="2de-tU-xBf" secondAttribute="centerX" id="hMi-t1-4CU"/>
<constraint firstItem="2de-tU-xBf" firstAttribute="leading" secondItem="Uox-tQ-aHh" secondAttribute="leading" constant="16" id="i00-yg-Fqc"/>
<constraint firstItem="snE-N6-ZWS" firstAttribute="leading" secondItem="Uox-tQ-aHh" secondAttribute="leading" constant="8" id="jDK-qF-OWv"/>
<constraint firstAttribute="bottom" secondItem="snE-N6-ZWS" secondAttribute="bottom" constant="12.5" id="m9c-hp-mc2"/>
<constraint firstItem="2de-tU-xBf" firstAttribute="centerX" secondItem="snE-N6-ZWS" secondAttribute="centerX" id="oUx-3P-Zqr"/>
<constraint firstAttribute="bottom" secondItem="snE-N6-ZWS" secondAttribute="bottom" constant="6" id="m9c-hp-mc2"/>
<constraint firstItem="2de-tU-xBf" firstAttribute="centerX" secondItem="snE-N6-ZWS" secondAttribute="centerX" constant="4" id="oUx-3P-Zqr"/>
<constraint firstItem="rqA-Rp-bTY" firstAttribute="leading" secondItem="Uox-tQ-aHh" secondAttribute="leading" constant="26" id="z19-aP-Khn"/>
</constraints>
</view>
......@@ -1862,7 +2117,7 @@
</connections>
</button>
<button clipsSubviews="YES" alpha="0.5" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="iZV-CB-uhN">
<rect key="frame" x="12" y="704" width="368" height="29"/>
<rect key="frame" x="12" y="704" width="153" height="29"/>
<color key="backgroundColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="29" id="fWy-O3-aVK"/>
......@@ -1883,24 +2138,8 @@
<segue destination="c35-zZ-N3V" kind="show" id="XKX-nh-k4c"/>
</connections>
</button>
<button clipsSubviews="YES" alpha="0.5" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Ec0-sM-bbQ">
<rect key="frame" x="12" y="745" width="372" height="29"/>
<color key="backgroundColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<state key="normal" title="DELETE">
<color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="7"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="number" keyPath="layer.borderWidth">
<integer key="value" value="2"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</button>
<view contentMode="scaleToFill" id="dqm-7z-zxb">
<rect key="frame" x="2" y="196" width="374" height="121"/>
<rect key="frame" x="2" y="168" width="382" height="149"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageSizeForAccessibilityContentSizeCategory="YES" adjustsImageWhenDisabled="NO" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Jxf-LZ-qwm">
......@@ -1915,7 +2154,7 @@
</connections>
</button>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="r02-7k-jVm" customClass="GlidingCollection" customModule="Em_call" customModuleProvider="target">
<rect key="frame" x="0.0" y="5" width="374" height="98"/>
<rect key="frame" x="0.0" y="5" width="394" height="110"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</view>
</subviews>
......@@ -1923,12 +2162,12 @@
<color key="tintColor" white="0.89023987680000005" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="Jxf-LZ-qwm" secondAttribute="trailing" constant="20" symbolic="YES" id="0Zw-Fg-PIr"/>
<constraint firstAttribute="bottom" secondItem="r02-7k-jVm" secondAttribute="bottom" constant="18" id="2Ap-KH-hxX"/>
<constraint firstAttribute="bottom" secondItem="r02-7k-jVm" secondAttribute="bottom" constant="34" id="2Ap-KH-hxX"/>
<constraint firstItem="Jxf-LZ-qwm" firstAttribute="leading" secondItem="dqm-7z-zxb" secondAttribute="leading" constant="147" id="7QO-k7-mjo"/>
<constraint firstItem="r02-7k-jVm" firstAttribute="top" secondItem="dqm-7z-zxb" secondAttribute="top" constant="5" id="Sna-6G-2xL"/>
<constraint firstItem="Jxf-LZ-qwm" firstAttribute="top" secondItem="dqm-7z-zxb" secondAttribute="top" constant="44" id="iJQ-bd-sBh"/>
<constraint firstItem="r02-7k-jVm" firstAttribute="leading" secondItem="dqm-7z-zxb" secondAttribute="leading" id="jJS-Dy-MNz"/>
<constraint firstAttribute="trailing" secondItem="r02-7k-jVm" secondAttribute="trailing" id="mC6-49-uXe"/>
<constraint firstAttribute="trailing" secondItem="r02-7k-jVm" secondAttribute="trailing" constant="-12" id="mC6-49-uXe"/>
</constraints>
</view>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" scrollEnabled="NO" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" indicatorStyle="white" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="Rpe-lC-X55">
......@@ -1998,6 +2237,22 @@
</prototypes>
<sections/>
</tableView>
<button clipsSubviews="YES" alpha="0.5" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Ec0-sM-bbQ">
<rect key="frame" x="222" y="702" width="162" height="29"/>
<color key="backgroundColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<state key="normal" title="DELETE">
<color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="7"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="number" keyPath="layer.borderWidth">
<integer key="value" value="2"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</button>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="tintColor" white="0.89023987680000005" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
......@@ -2007,20 +2262,23 @@
<constraint firstItem="Rpe-lC-X55" firstAttribute="trailing" secondItem="kFn-VL-JHT" secondAttribute="trailing" id="39t-Ke-16L"/>
<constraint firstItem="Uox-tQ-aHh" firstAttribute="trailing" secondItem="wOb-kl-MC5" secondAttribute="trailingMargin" id="8Ag-Xf-9LH"/>
<constraint firstItem="kFn-VL-JHT" firstAttribute="trailing" secondItem="6Zb-r4-Yob" secondAttribute="trailing" constant="12" id="B7A-Cg-EKj"/>
<constraint firstItem="kFn-VL-JHT" firstAttribute="trailing" secondItem="iZV-CB-uhN" secondAttribute="trailing" constant="16" id="H7e-23-dKR"/>
<constraint firstItem="Ec0-sM-bbQ" firstAttribute="top" secondItem="6Zb-r4-Yob" secondAttribute="bottom" constant="8" symbolic="YES" id="D8x-eR-BIZ"/>
<constraint firstItem="kFn-VL-JHT" firstAttribute="trailing" secondItem="iZV-CB-uhN" secondAttribute="trailing" constant="231" id="H7e-23-dKR"/>
<constraint firstItem="iZV-CB-uhN" firstAttribute="top" secondItem="6Zb-r4-Yob" secondAttribute="bottom" constant="10" id="RxD-Bw-gee"/>
<constraint firstItem="dqm-7z-zxb" firstAttribute="top" secondItem="Uox-tQ-aHh" secondAttribute="bottom" constant="8" symbolic="YES" id="TDX-dt-BE3"/>
<constraint firstItem="dqm-7z-zxb" firstAttribute="top" secondItem="Uox-tQ-aHh" secondAttribute="bottom" constant="8" id="TDX-dt-BE3"/>
<constraint firstItem="Uox-tQ-aHh" firstAttribute="centerX" secondItem="6Zb-r4-Yob" secondAttribute="centerX" id="UmL-Xb-xpO"/>
<constraint firstItem="Uox-tQ-aHh" firstAttribute="leading" secondItem="wOb-kl-MC5" secondAttribute="leadingMargin" id="V5Q-89-rWO"/>
<constraint firstItem="6Zb-r4-Yob" firstAttribute="top" secondItem="Rpe-lC-X55" secondAttribute="bottom" constant="6" id="VGr-CS-sQ0"/>
<constraint firstItem="Uox-tQ-aHh" firstAttribute="top" secondItem="kFn-VL-JHT" secondAttribute="top" constant="33" id="Y8X-M2-dyt"/>
<constraint firstItem="Ec0-sM-bbQ" firstAttribute="leading" secondItem="kFn-VL-JHT" secondAttribute="leading" constant="12" id="cdE-Js-dJJ"/>
<constraint firstItem="Ec0-sM-bbQ" firstAttribute="leading" secondItem="kFn-VL-JHT" secondAttribute="leading" constant="222" id="cdE-Js-dJJ"/>
<constraint firstItem="6Zb-r4-Yob" firstAttribute="leading" secondItem="kFn-VL-JHT" secondAttribute="leading" constant="12" id="dJe-zL-l3l"/>
<constraint firstAttribute="bottom" secondItem="Uox-tQ-aHh" secondAttribute="bottom" constant="778" id="hN3-un-kXb"/>
<constraint firstItem="kFn-VL-JHT" firstAttribute="trailing" secondItem="iZV-CB-uhN" secondAttribute="trailing" constant="16" id="orG-i2-kHq"/>
<constraint firstAttribute="bottom" secondItem="Uox-tQ-aHh" secondAttribute="bottom" constant="719" id="hN3-un-kXb"/>
<constraint firstItem="kFn-VL-JHT" firstAttribute="trailing" secondItem="iZV-CB-uhN" secondAttribute="trailing" constant="231" id="orG-i2-kHq"/>
<constraint firstItem="Ec0-sM-bbQ" firstAttribute="leading" secondItem="iZV-CB-uhN" secondAttribute="trailing" constant="57" id="qsc-oV-Iu8"/>
<constraint firstItem="Rpe-lC-X55" firstAttribute="leading" secondItem="kFn-VL-JHT" secondAttribute="leading" constant="2" id="rhd-r9-Dgs"/>
<constraint firstItem="6Zb-r4-Yob" firstAttribute="leading" secondItem="kFn-VL-JHT" secondAttribute="leading" constant="12" id="seF-Fv-rbK"/>
<constraint firstItem="Ec0-sM-bbQ" firstAttribute="top" secondItem="iZV-CB-uhN" secondAttribute="bottom" constant="12" id="wr3-IB-CFX"/>
<constraint firstItem="kFn-VL-JHT" firstAttribute="trailing" secondItem="Ec0-sM-bbQ" secondAttribute="trailing" constant="12" id="ttZ-70-IIx"/>
<constraint firstItem="Ec0-sM-bbQ" firstAttribute="top" secondItem="iZV-CB-uhN" secondAttribute="bottom" constant="-31" id="wr3-IB-CFX"/>
<constraint firstItem="iZV-CB-uhN" firstAttribute="leading" secondItem="kFn-VL-JHT" secondAttribute="leading" constant="12" id="xs5-Ng-2Hh"/>
<constraint firstItem="kFn-VL-JHT" firstAttribute="trailing" secondItem="Ec0-sM-bbQ" secondAttribute="trailing" constant="12" id="y6m-yo-v4J"/>
</constraints>
......@@ -2031,15 +2289,13 @@
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="tintColor" white="0.89023987680000005" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="wOb-kl-MC5" secondAttribute="bottom" constant="-89" id="1ia-ul-PSq"/>
<constraint firstAttribute="bottom" secondItem="wOb-kl-MC5" secondAttribute="bottom" constant="-71" id="1ia-ul-PSq"/>
<constraint firstItem="wOb-kl-MC5" firstAttribute="leading" secondItem="Ox3-d8-QQc" secondAttribute="leadingMargin" constant="-13" id="VBq-Ii-xrR"/>
<constraint firstItem="wOb-kl-MC5" firstAttribute="top" secondItem="Ox3-d8-QQc" secondAttribute="topMargin" constant="35" id="WkE-fe-LdT"/>
<constraint firstItem="wOb-kl-MC5" firstAttribute="top" secondItem="Ox3-d8-QQc" secondAttribute="topMargin" constant="-42" id="WkE-fe-LdT"/>
<constraint firstItem="wOb-kl-MC5" firstAttribute="centerX" secondItem="Ox3-d8-QQc" secondAttribute="centerX" constant="-2" id="oEQ-6C-Pxa"/>
</constraints>
</view>
<navigationItem key="navigationItem" title="Electrician" largeTitleDisplayMode="never" id="rgt-tm-YA9"/>
<simulatedTabBarMetrics key="simulatedBottomBarMetrics" barStyle="black" translucent="NO"/>
<size key="freeformSize" width="414" height="1000"/>
<connections>
<outlet property="addPhotoTopConstraint" destination="iJQ-bd-sBh" id="Ymx-kM-6tz"/>
<outlet property="descTextView" destination="snE-N6-ZWS" id="OAG-8o-UdN"/>
......@@ -2049,25 +2305,25 @@
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="ILp-zW-vJS" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="6026.0869565217399" y="5.3571428571428568"/>
<point key="canvasLocation" x="3250.7246376811595" y="-29.464285714285712"/>
</scene>
<!--Handyman-->
<scene sceneID="YJ2-XP-V1j">
<objects>
<viewController title="Handyman" modalTransitionStyle="crossDissolve" modalPresentationStyle="fullScreen" id="pn9-ml-gRd" customClass="HandmanViewController" customModule="Em_call" customModuleProvider="target" sceneMemberID="viewController">
<viewController storyboardIdentifier="Handyman" title="Handyman" modalTransitionStyle="crossDissolve" modalPresentationStyle="fullScreen" useStoryboardIdentifierAsRestorationIdentifier="YES" id="pn9-ml-gRd" customClass="HandmanViewController" customModule="Em_call" customModuleProvider="target" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="JuT-ER-s2a"/>
<viewControllerLayoutGuide type="bottom" id="mVh-EM-n3c"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="WYQ-qO-1uc">
<rect key="frame" x="0.0" y="0.0" width="414" height="917"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="813"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Evh-Q6-pmw">
<rect key="frame" x="8" y="61" width="398" height="1004"/>
<rect key="frame" x="8" y="61" width="398" height="900"/>
<subviews>
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Sjq-s9-kJ0">
<rect key="frame" x="8" y="7" width="382" height="175"/>
<rect key="frame" x="8" y="7" width="382" height="123"/>
<subviews>
<button alpha="0.5" contentMode="scaleToFill" verticalCompressionResistancePriority="751" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Fbg-un-grM">
<rect key="frame" x="8" y="35" width="366" height="29"/>
......@@ -2086,9 +2342,8 @@
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</button>
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" fixedFrame="YES" text="Discribe your problem. For example Entering electricity into the house." textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="45z-Bb-LY6">
<rect key="frame" x="8" y="78" width="390" height="90"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" text="Discribe your problem. For example Entering electricity into the house." textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="45z-Bb-LY6">
<rect key="frame" x="8" y="78" width="366" height="37"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="textColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
......@@ -2104,14 +2359,18 @@
<constraints>
<constraint firstItem="Fbg-un-grM" firstAttribute="top" secondItem="mtr-Ff-YNJ" secondAttribute="bottom" constant="7.5" id="GdH-0M-otl"/>
<constraint firstItem="Fbg-un-grM" firstAttribute="leading" secondItem="Sjq-s9-kJ0" secondAttribute="leading" constant="8" id="Tbg-MQ-d56"/>
<constraint firstAttribute="bottom" secondItem="45z-Bb-LY6" secondAttribute="bottom" constant="8" id="WzG-aM-V4n"/>
<constraint firstAttribute="trailing" secondItem="45z-Bb-LY6" secondAttribute="trailing" constant="8" id="jEt-mV-pL6"/>
<constraint firstAttribute="trailing" secondItem="Fbg-un-grM" secondAttribute="trailing" constant="8" id="nOr-Qc-ouV"/>
<constraint firstItem="mtr-Ff-YNJ" firstAttribute="leading" secondItem="Sjq-s9-kJ0" secondAttribute="leading" constant="39" id="o41-q8-JTv"/>
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="mtr-Ff-YNJ" secondAttribute="trailing" symbolic="YES" id="qMj-es-yaI"/>
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="mtr-Ff-YNJ" secondAttribute="trailing" constant="20" symbolic="YES" id="qMj-es-yaI"/>
<constraint firstItem="45z-Bb-LY6" firstAttribute="top" secondItem="Fbg-un-grM" secondAttribute="bottom" constant="14" id="svO-zA-Est"/>
<constraint firstItem="mtr-Ff-YNJ" firstAttribute="top" secondItem="Sjq-s9-kJ0" secondAttribute="top" constant="7" id="vSj-G9-djj"/>
<constraint firstItem="45z-Bb-LY6" firstAttribute="leading" secondItem="Fbg-un-grM" secondAttribute="leading" id="wSJ-5o-DYB"/>
</constraints>
</view>
<view contentMode="scaleToFill" id="olz-GI-amO">
<rect key="frame" x="8" y="190" width="398" height="87"/>
<rect key="frame" x="8" y="138" width="382" height="139"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" pointerInteraction="YES" translatesAutoresizingMaskIntoConstraints="NO" id="xsq-kH-cQr">
......@@ -2123,16 +2382,19 @@
<action selector="pressAddPhoto:" destination="pn9-ml-gRd" eventType="touchUpInside" id="Qlr-Cb-5pg"/>
</connections>
</button>
<view contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="rSG-Wo-CCu" customClass="GlidingCollection" customModule="Em_call">
<rect key="frame" x="0.0" y="8" width="398" height="75"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rSG-Wo-CCu" customClass="GlidingCollection" customModule="Em_call">
<rect key="frame" x="0.0" y="8" width="382" height="104"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
</view>
</subviews>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints>
<constraint firstItem="rSG-Wo-CCu" firstAttribute="leading" secondItem="olz-GI-amO" secondAttribute="leading" id="1qY-P8-K9Z"/>
<constraint firstItem="rSG-Wo-CCu" firstAttribute="top" secondItem="olz-GI-amO" secondAttribute="topMargin" id="20v-No-jOY"/>
<constraint firstAttribute="trailing" secondItem="rSG-Wo-CCu" secondAttribute="trailing" id="G5k-S9-ssW"/>
<constraint firstItem="xsq-kH-cQr" firstAttribute="top" secondItem="olz-GI-amO" secondAttribute="top" constant="45" id="VSH-o5-AOn"/>
<constraint firstItem="xsq-kH-cQr" firstAttribute="leading" secondItem="olz-GI-amO" secondAttribute="leading" constant="135" id="YsY-fp-3TZ"/>
<constraint firstAttribute="bottom" secondItem="rSG-Wo-CCu" secondAttribute="bottom" constant="27" id="ZwY-wr-ReN"/>
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="xsq-kH-cQr" secondAttribute="trailing" constant="20" symbolic="YES" id="rV9-jV-wpe"/>
</constraints>
</view>
......@@ -2257,7 +2519,7 @@
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="tintColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="olz-GI-amO" firstAttribute="top" secondItem="Sjq-s9-kJ0" secondAttribute="bottom" constant="8" symbolic="YES" id="0yk-cc-5tF"/>
<constraint firstItem="olz-GI-amO" firstAttribute="top" secondItem="Sjq-s9-kJ0" secondAttribute="bottom" constant="8" id="0yk-cc-5tF"/>
<constraint firstAttribute="bottom" secondItem="GF9-jP-npH" secondAttribute="bottom" constant="259" id="6nh-vk-Zie"/>
<constraint firstItem="kH1-mU-OGr" firstAttribute="top" secondItem="olz-GI-amO" secondAttribute="bottom" constant="12" id="6vg-vC-9pt"/>
<constraint firstItem="8Dc-om-cYb" firstAttribute="trailing" secondItem="Sjq-s9-kJ0" secondAttribute="trailing" constant="8" id="999-db-ipK"/>
......@@ -2291,7 +2553,6 @@
</view>
<navigationItem key="navigationItem" title="Hamdyman" largeTitleDisplayMode="never" id="o2h-fn-Vof"/>
<simulatedTabBarMetrics key="simulatedBottomBarMetrics" barStyle="black" translucent="NO"/>
<size key="freeformSize" width="414" height="1000"/>
<connections>
<outlet property="addPhotoTopConstraint" destination="VSH-o5-AOn" id="owU-OC-bbh"/>
<outlet property="addr" destination="mtr-Ff-YNJ" id="2bR-pq-qFU"/>
......@@ -2302,7 +2563,7 @@
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="Lmm-tD-Lz3" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="7628.985507246377" y="5.3571428571428568"/>
<point key="canvasLocation" x="6121.739130434783" y="-64.285714285714278"/>
</scene>
<!--ELECTRICIAN-->
<scene sceneID="ezE-OL-3xD">
......@@ -2558,12 +2819,12 @@
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="Cvy-5g-Z27" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="128.98550724637681" y="-1641.2946428571429"/>
<point key="canvasLocation" x="1610" y="-1643"/>
</scene>
<!--Map-->
<scene sceneID="tRu-tc-UB7">
<objects>
<viewController storyboardIdentifier="Map" title="Map" useStoryboardIdentifierAsRestorationIdentifier="YES" id="N89-nt-uQQ" customClass="MapViewController" customModule="Em_call" customModuleProvider="target" sceneMemberID="viewController">
<viewController storyboardIdentifier="Map" title="Map" modalPresentationStyle="fullScreen" useStoryboardIdentifierAsRestorationIdentifier="YES" id="N89-nt-uQQ" customClass="MapViewController" customModule="Em_call" customModuleProvider="target" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="Blq-gP-izO"/>
<viewControllerLayoutGuide type="bottom" id="UBd-Hl-5Lr"/>
......@@ -2572,7 +2833,7 @@
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<mapView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" mapType="standard" showsUserLocation="YES" showsScale="YES" translatesAutoresizingMaskIntoConstraints="NO" id="i0k-o9-Ni2">
<mapView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" mapType="standard" pitchEnabled="NO" showsUserLocation="YES" showsPointsOfInterest="NO" showsScale="YES" translatesAutoresizingMaskIntoConstraints="NO" id="i0k-o9-Ni2">
<rect key="frame" x="0.0" y="52" width="414" height="810"/>
</mapView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="zyl-7n-gof">
......@@ -2636,7 +2897,7 @@
</pongPressGestureRecognizer>
<navigationItem leftItemsSupplementBackButton="YES" largeTitleDisplayMode="never" id="dEs-DP-Np3"/>
</objects>
<point key="canvasLocation" x="9481.1594202898559" y="87.723214285714278"/>
<point key="canvasLocation" x="8570" y="61"/>
</scene>
<!--DateTimeController-->
<scene sceneID="BuO-Pk-89Q">
......@@ -2798,7 +3059,7 @@
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="jfl-KJ-u1X" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="10349.275362318842" y="88.392857142857139"/>
<point key="canvasLocation" x="7749" y="88"/>
</scene>
<!--Plumbing-->
<scene sceneID="hYv-nD-Jeg">
......@@ -3272,7 +3533,6 @@
</userDefinedRuntimeAttributes>
<connections>
<action selector="pressBookNow:" destination="pS2-js-CmU" eventType="touchUpInside" id="NGh-eW-QRh"/>
<action selector="pressBookNow:" destination="w3U-Wu-gHP" eventType="touchUpInside" id="edZ-wa-YZu"/>
</connections>
</button>
</subviews>
......@@ -3537,9 +3797,7 @@
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
<action selector="pressBookNow:" destination="w3U-Wu-gHP" eventType="touchUpInside" id="UrW-kA-6iN"/>
<action selector="pressBookNow:" destination="VDd-kQ-ucs" eventType="touchUpInside" id="sla-FI-mEv"/>
<action selector="pressBookNow:" destination="pS2-js-CmU" eventType="touchUpInside" id="yYa-m1-6Lp"/>
</connections>
</button>
</subviews>
......@@ -3606,22 +3864,285 @@
</objects>
<point key="canvasLocation" x="4263.768115942029" y="-1506.0267857142856"/>
</scene>
<!--Tab Bar Controller-->
<scene sceneID="RRk-WJ-HQk">
<!--EmerLocksmith-->
<scene sceneID="H0D-Ne-A4N">
<objects>
<tabBarController storyboardIdentifier="TabBar" modalTransitionStyle="crossDissolve" modalPresentationStyle="fullScreen" useStoryboardIdentifierAsRestorationIdentifier="YES" interfaceStyle="dark" id="ts5-fg-sAT" sceneMemberID="viewController">
<navigationItem key="navigationItem" largeTitleDisplayMode="never" id="evY-2a-Wuz"/>
<simulatedNavigationBarMetrics key="simulatedTopBarMetrics" barStyle="black" translucent="NO" prompted="NO"/>
<simulatedTabBarMetrics key="simulatedBottomBarMetrics" barStyle="black" translucent="NO"/>
<tabBar key="tabBar" contentMode="scaleToFill" semanticContentAttribute="playback" insetsLayoutMarginsFromSafeArea="NO" barStyle="black" translucent="NO" id="cDv-m4-GEt">
<rect key="frame" x="0.0" y="0.0" width="414" height="49"/>
<autoresizingMask key="autoresizingMask"/>
<color key="backgroundColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</tabBar>
</tabBarController>
<placeholder placeholderIdentifier="IBFirstResponder" id="j7x-jS-og4" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
<viewController title="EmerLocksmith" id="mn8-2R-meV" customClass="EmerLocksmithVC" customModule="Em_call" customModuleProvider="target" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="t1O-rq-iWM"/>
<viewControllerLayoutGuide type="bottom" id="TfT-U6-yCL"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="3Av-G8-c5E">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<scrollView clipsSubviews="YES" clearsContextBeforeDrawing="NO" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Omx-71-ghv">
<rect key="frame" x="23" y="92" width="368" height="712"/>
<subviews>
<stackView opaque="NO" contentMode="scaleAspectFit" insetsLayoutMarginsFromSafeArea="NO" axis="vertical" distribution="fillEqually" alignment="top" translatesAutoresizingMaskIntoConstraints="NO" id="YF9-zU-7Gc">
<rect key="frame" x="16" y="293" width="115" height="34"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Price" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vfm-0Y-5dF">
<rect key="frame" x="0.0" y="0.0" width="33" height="17"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Approximate cost" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dZe-eV-jH3">
<rect key="frame" x="0.0" y="17" width="113.5" height="17"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<color key="textColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillEqually" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="Wfe-dl-kyo">
<rect key="frame" x="16" y="335" width="163" height="91.5"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Emergency locksmith" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="n8w-7d-NOY">
<rect key="frame" x="0.0" y="0.0" width="163" height="20.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Call price" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9oR-CJ-I9H">
<rect key="frame" x="0.0" y="35.5" width="163" height="20.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Total" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AKG-5M-gul">
<rect key="frame" x="0.0" y="71" width="163" height="20.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillEqually" alignment="bottom" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="YlI-qB-JFc">
<rect key="frame" x="325.5" y="335" width="28.5" height="91.5"/>
<subviews>
<label opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="100" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xlf-mV-bfE">
<rect key="frame" x="0.0" y="0.0" width="28.5" height="20.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="50" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="N52-fa-55J">
<rect key="frame" x="8" y="35.5" width="20.5" height="20.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="150" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="x9Y-if-oyP">
<rect key="frame" x="0.0" y="71" width="28.5" height="20.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstItem="xlf-mV-bfE" firstAttribute="centerX" secondItem="x9Y-if-oyP" secondAttribute="centerX" id="gOK-na-zyi"/>
</constraints>
</stackView>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="SHR-fR-xBB">
<rect key="frame" x="8" y="-8" width="352" height="74"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Work location" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wys-aP-l21">
<rect key="frame" x="3" y="6" width="104.5" height="20.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="KcZ-b3-WDP">
<rect key="frame" x="0.0" y="29" width="352" height="37"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="22, Dorlan Ave, Manchester" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="E5G-R4-mkj">
<rect key="frame" x="39.5" y="10" width="188.5" height="18"/>
<fontDescription key="fontDescription" type="system" pointSize="15"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="uil_arrow-right" translatesAutoresizingMaskIntoConstraints="NO" id="dyk-4q-f1f">
<rect key="frame" x="313" y="4" width="36" height="27"/>
<constraints>
<constraint firstAttribute="height" constant="27" id="XOF-Qg-EEf"/>
<constraint firstAttribute="width" constant="36" id="xvg-IT-Ot3"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="eva_pin-fill" translatesAutoresizingMaskIntoConstraints="NO" id="Dpd-Ai-sU8">
<rect key="frame" x="1.5" y="7" width="30" height="26"/>
<constraints>
<constraint firstAttribute="width" constant="30" id="lYj-kt-fsn"/>
<constraint firstAttribute="height" constant="26" id="thp-pd-gob"/>
</constraints>
</imageView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="jRC-18-jcz">
<rect key="frame" x="1.5" y="4" width="351" height="30"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" constant="351" id="wFJ-lh-l2v"/>
</constraints>
<connections>
<action selector="pressButMap:" destination="VDd-kQ-ucs" eventType="touchUpInside" id="xiD-l0-YNJ"/>
<action selector="pressButtonAddress:" destination="mn8-2R-meV" eventType="touchUpInside" id="cI8-6O-Zf5"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="dyk-4q-f1f" firstAttribute="top" secondItem="KcZ-b3-WDP" secondAttribute="top" constant="4" id="BrM-jD-uP3"/>
<constraint firstItem="jRC-18-jcz" firstAttribute="top" secondItem="KcZ-b3-WDP" secondAttribute="top" constant="4" id="GkQ-ng-TMO"/>
<constraint firstItem="E5G-R4-mkj" firstAttribute="top" secondItem="KcZ-b3-WDP" secondAttribute="top" constant="10" id="KfP-eU-ApQ"/>
<constraint firstAttribute="trailing" secondItem="dyk-4q-f1f" secondAttribute="trailing" constant="3" id="UWS-qt-UO8"/>
<constraint firstItem="E5G-R4-mkj" firstAttribute="leading" secondItem="Dpd-Ai-sU8" secondAttribute="trailing" constant="8" symbolic="YES" id="Y8F-Bb-bug"/>
<constraint firstItem="E5G-R4-mkj" firstAttribute="leading" secondItem="Dpd-Ai-sU8" secondAttribute="trailing" constant="8" symbolic="YES" id="YKg-Gk-Lds"/>
<constraint firstAttribute="trailing" secondItem="jRC-18-jcz" secondAttribute="trailing" constant="-0.5" id="cJX-tI-SPn"/>
<constraint firstItem="Dpd-Ai-sU8" firstAttribute="top" secondItem="KcZ-b3-WDP" secondAttribute="top" constant="7" id="dLD-li-G5k"/>
<constraint firstItem="dyk-4q-f1f" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="E5G-R4-mkj" secondAttribute="trailing" constant="8" symbolic="YES" id="eoN-Wf-y8l"/>
<constraint firstItem="Dpd-Ai-sU8" firstAttribute="leading" secondItem="jRC-18-jcz" secondAttribute="leading" id="y2S-WL-kKQ"/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="5"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="number" keyPath="layer.borderWidth">
<integer key="value" value="1"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</view>
</subviews>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints>
<constraint firstItem="KcZ-b3-WDP" firstAttribute="top" secondItem="SHR-fR-xBB" secondAttribute="top" constant="29" id="0Ad-2f-STi"/>
<constraint firstItem="KcZ-b3-WDP" firstAttribute="centerX" secondItem="SHR-fR-xBB" secondAttribute="centerX" id="CCD-Rw-Huf"/>
<constraint firstItem="KcZ-b3-WDP" firstAttribute="leading" secondItem="SHR-fR-xBB" secondAttribute="leading" id="COb-Z5-i4P"/>
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="wys-aP-l21" secondAttribute="trailing" constant="20" symbolic="YES" id="O8r-8u-ehy"/>
<constraint firstAttribute="height" constant="74" id="fG8-hQ-7ay"/>
<constraint firstItem="wys-aP-l21" firstAttribute="leading" secondItem="SHR-fR-xBB" secondAttribute="leading" constant="3" id="gnv-5B-o5Y"/>
<constraint firstItem="KcZ-b3-WDP" firstAttribute="top" secondItem="wys-aP-l21" secondAttribute="bottom" constant="2.5" id="uAA-lm-tyP"/>
<constraint firstItem="KcZ-b3-WDP" firstAttribute="bottom" secondItem="SHR-fR-xBB" secondAttribute="bottomMargin" id="wDc-HC-Fbg"/>
</constraints>
</view>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" scrollEnabled="NO" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="8ot-ry-xgS">
<rect key="frame" x="8" y="204" width="352" height="77"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints>
<constraint firstAttribute="height" constant="77" id="uKO-Xt-fc8"/>
</constraints>
</tableView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Date and time" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5Ix-jk-QC5">
<rect key="frame" x="9.5" y="74" width="97" height="18"/>
<fontDescription key="fontDescription" type="system" pointSize="15"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Today, As soon as possible" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yH7-SI-aWI">
<rect key="frame" x="8" y="100" width="164" height="16"/>
<fontDescription key="fontDescription" type="system" pointSize="13"/>
<color key="textColor" red="1" green="0.36862745099999999" blue="0.2274509804" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Contact" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1Ls-Fp-dg0">
<rect key="frame" x="8" y="126" width="56" height="18"/>
<fontDescription key="fontDescription" type="system" pointSize="15"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" text="+1 111 123 56 78 " borderStyle="roundedRect" textAlignment="natural" clearsOnBeginEditing="YES" minimumFontSize="17" clearButtonMode="always" translatesAutoresizingMaskIntoConstraints="NO" id="NVJ-g3-Idu">
<rect key="frame" x="8" y="155" width="352" height="34"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits"/>
</textField>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Book now and our stuff will come as soon as possible" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="K47-pc-RTA">
<rect key="frame" x="18" y="597" width="324.5" height="16"/>
<fontDescription key="fontDescription" type="system" pointSize="13"/>
<color key="textColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<button multipleTouchEnabled="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" pointerInteraction="YES" translatesAutoresizingMaskIntoConstraints="NO" id="s8O-WV-WcV">
<rect key="frame" x="10" y="630" width="348" height="30"/>
<color key="backgroundColor" red="1" green="0.36862745099999999" blue="0.2274509804" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<state key="normal" title="BOOK NOW">
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="7"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
<action selector="pressBookNow:" destination="pS2-js-CmU" eventType="touchUpInside" id="Hyy-sl-fRO"/>
<action selector="pressBookNow:" destination="w3U-Wu-gHP" eventType="touchUpInside" id="esO-Hz-pRl"/>
<action selector="pressBookNow:" destination="mn8-2R-meV" eventType="touchUpInside" id="unH-v4-rfE"/>
<action selector="pressBookNow:" destination="VDd-kQ-ucs" eventType="touchUpInside" id="vNP-iz-Bgs"/>
</connections>
</button>
</subviews>
<gestureRecognizers/>
<constraints>
<constraint firstItem="bdQ-zL-RJS" firstAttribute="trailing" secondItem="1Ls-Fp-dg0" secondAttribute="trailing" constant="304" id="3HS-OJ-Ad7"/>
<constraint firstItem="bdQ-zL-RJS" firstAttribute="trailing" secondItem="NVJ-g3-Idu" secondAttribute="trailing" constant="8" id="7Dk-gC-Mzq"/>
<constraint firstItem="bdQ-zL-RJS" firstAttribute="trailing" secondItem="yH7-SI-aWI" secondAttribute="trailing" constant="196" id="7mS-de-dJk"/>
<constraint firstItem="bdQ-zL-RJS" firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="5Ix-jk-QC5" secondAttribute="trailing" id="84y-aT-eZn"/>
<constraint firstItem="JdB-tJ-4oH" firstAttribute="bottom" secondItem="s8O-WV-WcV" secondAttribute="bottom" constant="57" id="8ia-vC-Lhd"/>
<constraint firstItem="1Ls-Fp-dg0" firstAttribute="leading" secondItem="bdQ-zL-RJS" secondAttribute="leading" constant="8" id="9Kh-Ys-F1P"/>
<constraint firstItem="yH7-SI-aWI" firstAttribute="top" secondItem="5Ix-jk-QC5" secondAttribute="bottom" constant="8" id="A5b-Tw-orN"/>
<constraint firstItem="K47-pc-RTA" firstAttribute="leading" secondItem="JdB-tJ-4oH" secondAttribute="leading" constant="18" id="CsM-fq-GmL"/>
<constraint firstAttribute="bottom" secondItem="8ot-ry-xgS" secondAttribute="bottom" constant="436" id="Fm3-m0-0KW"/>
<constraint firstItem="bdQ-zL-RJS" firstAttribute="trailing" secondItem="YF9-zU-7Gc" secondAttribute="trailing" constant="237" id="IFG-0H-dG4"/>
<constraint firstItem="JdB-tJ-4oH" firstAttribute="trailing" secondItem="K47-pc-RTA" secondAttribute="trailing" constant="25.5" id="M1Y-2B-erp"/>
<constraint firstItem="5Ix-jk-QC5" firstAttribute="top" secondItem="SHR-fR-xBB" secondAttribute="bottom" constant="8" symbolic="YES" id="OpI-BC-9N3"/>
<constraint firstItem="s8O-WV-WcV" firstAttribute="leading" secondItem="JdB-tJ-4oH" secondAttribute="leading" constant="10" id="Qac-TZ-pXT"/>
<constraint firstItem="NVJ-g3-Idu" firstAttribute="leading" secondItem="bdQ-zL-RJS" secondAttribute="leading" constant="8" id="RiC-cz-1cO"/>
<constraint firstItem="8ot-ry-xgS" firstAttribute="leading" secondItem="bdQ-zL-RJS" secondAttribute="leading" constant="8" id="TCb-ra-aOx"/>
<constraint firstItem="s8O-WV-WcV" firstAttribute="top" secondItem="K47-pc-RTA" secondAttribute="bottom" constant="17" id="Wz7-Sv-MKi"/>
<constraint firstItem="5Ix-jk-QC5" firstAttribute="leading" secondItem="bdQ-zL-RJS" secondAttribute="leading" constant="9.5" id="Xz5-ON-Uzc"/>
<constraint firstItem="bdQ-zL-RJS" firstAttribute="trailing" secondItem="5Ix-jk-QC5" secondAttribute="trailing" constant="261.5" id="YU1-Jn-HPa"/>
<constraint firstItem="1Ls-Fp-dg0" firstAttribute="top" secondItem="yH7-SI-aWI" secondAttribute="bottom" constant="10" id="agm-db-B7i"/>
<constraint firstItem="JdB-tJ-4oH" firstAttribute="trailing" secondItem="s8O-WV-WcV" secondAttribute="trailing" constant="10" id="amo-PD-Qs8"/>
<constraint firstItem="YlI-qB-JFc" firstAttribute="bottom" secondItem="Wfe-dl-kyo" secondAttribute="bottom" id="cVE-Yf-Ews"/>
<constraint firstItem="bdQ-zL-RJS" firstAttribute="trailing" secondItem="8ot-ry-xgS" secondAttribute="trailing" constant="8" id="dnY-09-FJh"/>
<constraint firstItem="SHR-fR-xBB" firstAttribute="top" secondItem="Omx-71-ghv" secondAttribute="top" constant="-8" id="dvB-ek-0SZ"/>
<constraint firstItem="YF9-zU-7Gc" firstAttribute="top" secondItem="8ot-ry-xgS" secondAttribute="bottom" constant="12" id="iCM-B3-sIA"/>
<constraint firstItem="NVJ-g3-Idu" firstAttribute="top" secondItem="1Ls-Fp-dg0" secondAttribute="bottom" constant="11" id="lOp-kI-tLj"/>
<constraint firstItem="bdQ-zL-RJS" firstAttribute="trailing" secondItem="YlI-qB-JFc" secondAttribute="trailing" constant="14" id="m96-fK-KSt"/>
<constraint firstItem="8ot-ry-xgS" firstAttribute="top" secondItem="NVJ-g3-Idu" secondAttribute="bottom" constant="15" id="mYb-tT-bEk"/>
<constraint firstItem="YF9-zU-7Gc" firstAttribute="leading" secondItem="bdQ-zL-RJS" secondAttribute="leading" constant="16" id="qrS-cw-SVG"/>
<constraint firstItem="Wfe-dl-kyo" firstAttribute="leading" secondItem="bdQ-zL-RJS" secondAttribute="leading" constant="16" id="rT0-kO-fal"/>
<constraint firstItem="NVJ-g3-Idu" firstAttribute="trailing" secondItem="Omx-71-ghv" secondAttribute="trailingMargin" id="s9U-d8-aci"/>
<constraint firstItem="SHR-fR-xBB" firstAttribute="trailing" secondItem="NVJ-g3-Idu" secondAttribute="trailing" id="t9G-mV-xmU"/>
<constraint firstItem="Wfe-dl-kyo" firstAttribute="top" secondItem="YF9-zU-7Gc" secondAttribute="bottom" constant="8" symbolic="YES" id="uDN-Ni-wNk"/>
<constraint firstItem="yH7-SI-aWI" firstAttribute="leading" secondItem="bdQ-zL-RJS" secondAttribute="leading" constant="8" id="uje-US-trY"/>
<constraint firstItem="SHR-fR-xBB" firstAttribute="leading" secondItem="yH7-SI-aWI" secondAttribute="leading" id="wiW-2u-BZx"/>
</constraints>
<viewLayoutGuide key="contentLayoutGuide" id="JdB-tJ-4oH"/>
<viewLayoutGuide key="frameLayoutGuide" id="bdQ-zL-RJS"/>
</scrollView>
</subviews>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints>
<constraint firstItem="Omx-71-ghv" firstAttribute="centerY" secondItem="3Av-G8-c5E" secondAttribute="centerY" id="ARN-xm-8Em"/>
<constraint firstItem="Omx-71-ghv" firstAttribute="leading" secondItem="3Av-G8-c5E" secondAttribute="leadingMargin" constant="3" id="QFp-wh-J27"/>
<constraint firstItem="Omx-71-ghv" firstAttribute="centerX" secondItem="3Av-G8-c5E" secondAttribute="centerX" id="WlB-kC-oh4"/>
<constraint firstItem="Omx-71-ghv" firstAttribute="top" secondItem="t1O-rq-iWM" secondAttribute="bottom" constant="4" id="kfr-AV-MqM"/>
</constraints>
</view>
<navigationItem key="navigationItem" title="Emergency Locksmith" largeTitleDisplayMode="never" id="SmS-3Z-Xcp">
<barButtonItem key="leftBarButtonItem" title="&lt;Back" id="VHa-SC-pjc">
<connections>
<action selector="butBackClick:" destination="VDd-kQ-ucs" id="iLw-VJ-htt"/>
</connections>
</barButtonItem>
</navigationItem>
<connections>
<outlet property="addressView" destination="KcZ-b3-WDP" id="RNw-7b-QfD"/>
<outlet property="tableView" destination="8ot-ry-xgS" id="rDm-ZQ-XBR"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="CmC-pO-GTm" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1026" y="-763"/>
<point key="canvasLocation" x="5114" y="-1513"/>
</scene>
<!--BOOKING-->
<scene sceneID="WCk-QU-enn">
......@@ -3813,7 +4334,7 @@
<placeholder placeholderIdentifier="IBFirstResponder" id="3Qx-t7-Yth" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
<exit id="hpm-dq-hN6" userLabel="Exit" sceneMemberID="exit"/>
</objects>
<point key="canvasLocation" x="1734.7826086956522" y="-1558.2589285714284"/>
<point key="canvasLocation" x="1146" y="-520"/>
</scene>
<!--Profile-->
<scene sceneID="0uI-wd-DQ5">
......@@ -3824,11 +4345,11 @@
<viewControllerLayoutGuide type="bottom" id="p3C-V5-xRG"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="sfj-Fc-06i">
<rect key="frame" x="0.0" y="0.0" width="414" height="808"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="RC0-NQ-lyt">
<rect key="frame" x="218" y="38" width="18" height="20"/>
<rect key="frame" x="218" y="82" width="18" height="20"/>
<constraints>
<constraint firstAttribute="width" constant="18" id="WHt-tW-eQn"/>
</constraints>
......@@ -3838,7 +4359,7 @@
</connections>
</button>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="eva" translatesAutoresizingMaskIntoConstraints="NO" id="ez3-q4-qxl">
<rect key="frame" x="180" y="2" width="54" height="54"/>
<rect key="frame" x="180" y="46" width="54" height="54"/>
<constraints>
<constraint firstAttribute="height" constant="54" id="cCh-Nb-4N3"/>
</constraints>
......@@ -3849,7 +4370,7 @@
</userDefinedRuntimeAttributes>
</imageView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="w9x-AX-3bP">
<rect key="frame" x="20" y="458" width="374" height="45"/>
<rect key="frame" x="20" y="546" width="374" height="45"/>
<constraints>
<constraint firstAttribute="height" constant="45" id="6GY-zM-hlX"/>
</constraints>
......@@ -3861,7 +4382,7 @@
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="q3l-yY-y1g">
<rect key="frame" x="20" y="512" width="374" height="45"/>
<rect key="frame" x="20" y="600" width="374" height="45"/>
<constraints>
<constraint firstAttribute="height" constant="45" id="CEh-th-xi4"/>
</constraints>
......@@ -3873,7 +4394,7 @@
</connections>
</button>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" scrollEnabled="NO" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" indicatorStyle="white" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="O49-K0-phI">
<rect key="frame" x="20" y="66" width="374" height="334"/>
<rect key="frame" x="20" y="110" width="374" height="334"/>
<constraints>
<constraint firstAttribute="height" constant="334" id="o8d-jo-KOl"/>
</constraints>
......@@ -3990,44 +4511,6 @@
</objects>
<point key="canvasLocation" x="-2817" y="1156"/>
</scene>
<!--PROFILE-->
<scene sceneID="s51-NC-q1y">
<objects>
<navigationController automaticallyAdjustsScrollViewInsets="NO" id="aIx-bC-wdU" sceneMemberID="viewController">
<tabBarItem key="tabBarItem" title="PROFILE" image="profile" id="H9m-ma-Wdl"/>
<toolbarItems/>
<navigationBar key="navigationBar" contentMode="scaleToFill" translucent="NO" id="PhF-Kv-acD">
<rect key="frame" x="0.0" y="44" width="414" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<nil name="viewControllers"/>
<connections>
<segue destination="AxN-g6-Awl" kind="relationship" relationship="rootViewController" id="6WI-lN-5LB"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="70V-iR-4Sx" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1913.0434782608697" y="28.794642857142854"/>
</scene>
<!--CHAT-->
<scene sceneID="oc1-KC-Ulg">
<objects>
<navigationController automaticallyAdjustsScrollViewInsets="NO" id="4kn-VC-kmb" sceneMemberID="viewController">
<tabBarItem key="tabBarItem" title="CHAT" image="chat" id="2f9-OJ-Vaq"/>
<toolbarItems/>
<navigationBar key="navigationBar" contentMode="scaleToFill" id="0fl-DB-3H8">
<rect key="frame" x="0.0" y="44" width="414" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<nil name="viewControllers"/>
<connections>
<segue destination="xd1-wY-eA8" kind="relationship" relationship="rootViewController" id="4c4-YB-N7S"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="3Dq-eb-AvQ" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-704" y="-672"/>
</scene>
<!--Navigation Controller-->
<scene sceneID="jLF-e0-wqz">
<objects>
......@@ -4046,85 +4529,9 @@
</objects>
<point key="canvasLocation" x="315.94202898550725" y="211.60714285714286"/>
</scene>
<!--Plumber-->
<scene sceneID="Rjf-JP-UP2">
<objects>
<navigationController automaticallyAdjustsScrollViewInsets="NO" modalPresentationStyle="currentContext" id="tCN-CA-hZW" sceneMemberID="viewController">
<toolbarItems/>
<navigationItem key="navigationItem" title="Plumber" leftItemsSupplementBackButton="YES" id="8jV-zF-mT4"/>
<navigationBar key="navigationBar" contentMode="scaleToFill" id="0V1-o6-Guc">
<rect key="frame" x="0.0" y="44" width="414" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<nil name="viewControllers"/>
<connections>
<segue destination="HPQ-ND-dIY" kind="relationship" relationship="rootViewController" id="7wU-XW-IPL"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="9vx-eu-tPx" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="3443" y="-19"/>
</scene>
<!--Navigation Controller-->
<scene sceneID="Mdb-7N-Grm">
<objects>
<navigationController storyboardIdentifier="HomeNavID" automaticallyAdjustsScrollViewInsets="NO" useStoryboardIdentifierAsRestorationIdentifier="YES" id="Z2N-YK-cVB" sceneMemberID="viewController">
<toolbarItems/>
<navigationBar key="navigationBar" contentMode="scaleToFill" id="ZRl-Qu-pca">
<rect key="frame" x="0.0" y="44" width="414" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<nil name="viewControllers"/>
<connections>
<segue destination="3tU-MJ-808" kind="relationship" relationship="rootViewController" id="Xj9-fM-9Ls"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="Fp1-fu-77o" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="2689.8550724637685" y="-848.4375"/>
</scene>
<!--Electrician-->
<scene sceneID="Scl-uR-tsK">
<objects>
<navigationController storyboardIdentifier="NaviElectric" title="Electrician" automaticallyAdjustsScrollViewInsets="NO" modalTransitionStyle="crossDissolve" modalPresentationStyle="fullScreen" id="1Pu-D9-4ks" sceneMemberID="viewController">
<toolbarItems/>
<navigationBar key="navigationBar" contentMode="scaleToFill" id="6qE-99-SXf">
<rect key="frame" x="0.0" y="44" width="414" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<nil name="viewControllers"/>
<connections>
<segue destination="M0x-rT-c3r" kind="relationship" relationship="rootViewController" id="ZqI-b3-ZCc"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="T3a-sc-1hK" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
<navigationItem title="Title" id="JbY-0J-Ti4"/>
</objects>
<point key="canvasLocation" x="5115.9420289855079" y="5.3571428571428568"/>
</scene>
<!--Navigation Controller-->
<scene sceneID="JMd-AW-2KD">
<objects>
<navigationController automaticallyAdjustsScrollViewInsets="NO" modalPresentationStyle="currentContext" id="WFG-0l-cSg" sceneMemberID="viewController">
<toolbarItems/>
<navigationItem key="navigationItem" id="mQo-iv-IMI"/>
<navigationBar key="navigationBar" contentMode="scaleToFill" id="To4-VM-0AO">
<rect key="frame" x="0.0" y="44" width="414" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<nil name="viewControllers"/>
<connections>
<segue destination="pn9-ml-gRd" kind="relationship" relationship="rootViewController" id="hM3-HH-8oq"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="XXA-FV-sAj" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="6718.840579710145" y="5.3571428571428568"/>
</scene>
</scenes>
<resources>
<image name="but_menu" width="25" height="25"/>
<image name="chat" width="10.5" height="10"/>
<image name="edit" width="20" height="20"/>
<image name="electricico" width="31" height="31"/>
<image name="emerg_service" width="49" height="49"/>
......@@ -19996,7 +20403,6 @@ AAAEAQAAAAAAAABVAAAAAAAAAAAAAAAAAA6BRA
<image name="plumberico" width="31" height="31"/>
<image name="plus" width="10" height="10"/>
<image name="plus.viewfinder" catalog="system" width="128" height="115"/>
<image name="profile" width="10" height="11"/>
<image name="uil_arrow-right" width="12" height="12"/>
<systemColor name="labelColor">
<color white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
......@@ -20013,8 +20419,5 @@ AAAEAQAAAAAAAABVAAAAAAAAAAAAAAAAAA6BRA
<systemColor name="systemGray6Color">
<color red="0.94901960784313721" green="0.94901960784313721" blue="0.96862745098039216" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</systemColor>
<systemColor name="systemGroupedBackgroundColor">
<color red="0.94901960784313721" green="0.94901960784313721" blue="0.96862745098039216" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</systemColor>
</resources>
</document>
......@@ -38,6 +38,12 @@ struct Handyman {
var contactPhone:String = String()
var card:String = String()
}
struct Locksmith {
var workLocation:String = String()
var dateAndTime:NSDate = NSDate()
var contactPhone:String = String()
var card:String = String()
}
struct Place {
var placeHome:String = String()
var placeHomeElectric:String = String()
......@@ -54,24 +60,29 @@ struct ListWorkType {
var listWorkTypeElectric:[String] = Array()
var listWorkTypePlumber:[String] = Array()
var listWorkTypeHandyman:[String] = Array()
var listWorkTypeLocksmith:[String] = Array()
}
struct ListImageGalery {
var listNameElectricImageGalery:[Int:String] = Dictionary()
var listNamePlumberImageGalery:[Int:String] = Dictionary()
var listNameHandymanImageGalery:[Int:String] = Dictionary()
var listNameLocksmithImageGalery:[Int:String] = Dictionary()
var listElectricImageGalery:[Int:UIImage] = Dictionary()
var listPlumberImageGalery:[Int:UIImage] = Dictionary()
var listHandymanImageGalery:[Int:UIImage] = Dictionary()
var listLocksmithImageGalery:[Int:UIImage] = Dictionary()
}
class DataStorage: NSObject {
var Electrician_1: [NSManagedObject] = []
var Plumber_1: [NSManagedObject] = []
var Handyman_1: [NSManagedObject] = []
var Locksmith_1: [NSManagedObject] = []
var appDelegate = UIApplication.shared.delegate as? AppDelegate
var firstRun = false
var listMessageChat:[(String?,String?)] = Array()
var listImageGalery = ListImageGalery()
// var namePlaceMap:String = String()
var dictWorkers:[Int:[ NSManagedObject] ]? = nil
var listWorkType = ListWorkType()
var handyman:Handyman = Handyman()
var plumber:Plumber = Plumber()
......@@ -90,23 +101,13 @@ class DataStorage: NSObject {
override init() {
super.init()
/*
//let managedContext = appDelegate?.persistentContainer.viewContext
let fetchRequest = NSFetchRequest<NSManagedObject>(entityName: "imageProperty")
do {
guard let managedContext = appDelegate?.persistentContainer.viewContext
else {
return
}
imageProperty = try managedContext.fetch(fetchRequest)
} catch let error as NSError {
print("Could not fetch. \(error), \(error.userInfo)")
}
*/
load()
// dictWorkers.super.init()
/* for n in 0...3 { switch n { case 0:
dictWorkers.updateValue(Electrician_1 , forKey: n) default:
break } }*/
// load()
}
//-------------------------------------------------------------------
func getImageArray(flag:Int)->[UIImage] {
var am:[UIImage] = [UIImage]()
switch flag {
......@@ -114,12 +115,24 @@ class DataStorage: NSObject {
for item in listImageGalery.listElectricImageGalery {
am.append(item.value)
}
case 1: //Plumber
for item in listImageGalery.listPlumberImageGalery {
am.append(item.value)
}
case 2: //Handyman
for item in listImageGalery.listHandymanImageGalery {
am.append(item.value)
}
case 3: //Locksmith
for item in listImageGalery.listLocksmithImageGalery {
am.append(item.value)
}
default:
return am
}
return am
}
//-------------------------------------------------------------------
func checkFirstRun() {
firstRun = readBool(vbool:"firstRun")
if firstRun == false {
......@@ -141,334 +154,245 @@ class DataStorage: NSObject {
{
imgNSData.removeAll()
imgNSName.removeAll()
// var strNSData:Data = Data()
// var imageNSData:Data = Data()
//strNSData.removeAll()
// arrayImgNSData.removeAll() // var dataStrArray = [Data]()
dataStrArray.removeAll()
for data in Electrician_1 as! [NSManagedObject] {
imageNSData = data.value(forKey: "imgData") as! Data
}
//arrayImgNSData - одна большая Data
for data in Electrician_1 as! [NSManagedObject] {
strNSData=data.value(forKey: "imgName") as! Data
for data in Electrician_1 as [NSManagedObject] {
imgNSName = data.value(forKey: "imgName") as! [Data]
}
//fetch image using decoding
// imgNSData = arrayImgNSData
// var dataArray = [Data]()
//let imgDataArray = (try NSKeyedUnarchiver.unarchivedObject(ofClass: NSArray.self, from: imageNSData))!
// for imageData in imageNSData {
/* do {
imgNSData = try NSKeyedUnarchiver.unarchivedObject(ofClass: NSArray.self, from: imageNSData) as! [Data]
// dataArray.append(contentsOf: dataArray)
} catch {
print("could not unarchive array: \(error)")
}*/
//// var Object:NSData = imageNSData
/* do {
Object = try NSKeyedUnarchiver.unarchivedObject(ofClass: NSData.self, from: imageNSData)!
} catch {
print("could not unarchive array: \(error)")
}*/
// guard let object = Object else { return }
if let dataArray = try? NSKeyedUnarchiver.unarchivedObject(ofClass: NSArray.self, from: imageNSData as Data) {
for data in dataArray {
if let data = data as? Data, let image = UIImage(data: data) {
imgData.append(image)
}
}
}
else {
print("could not unarchive array")
}
/* do {
Object = try NSKeyedUnarchiver.unarchivedObject(ofClass: NSData.self, from: strNSData)!
} catch {
print("could not unarchive array: \(error)")
}*/
//guard let o_bject = Object else { return }
/* if let dataArray = try? NSKeyedUnarchiver.unarchivedObject(ofClass: NSArray.self, from: strNSData as Data) {
for data in dataArray {
if let data = data as? Data, let image = NSString(data: data, encoding: <#UInt#>) {
imgData.append(image)
}
}
}*/
//var dataArray = Data()
/* do {
// let img = (try NSKeyedUnarchiver.unarchivedObject(ofClass: UIImage.self, from: imageData))!
// let data = try NSKeyedUnarchiver.unarchivedObject(ofClass: NSData.self, from: imageData) as! Data
imgNSData.append( imageData ) //dataArray, imgNSData - массив Data
//imgData.append(contentsOf: img)
// imgData.append(img as UIImage)
} catch {
print("could not unarchive array: \(error)") }
}*/
/* arrayImgNSData.forEach { (imageData) in var dataArray = [Data]()
do { dataArray = try NSKeyedUnarchiver.unarchivedObject(ofClass: NSArray.self, from: imageData) as! [Data]
imgNSData.append(contentsOf: dataArray) //dataArray, imgNSData - массив Data
} catch { print("could not unarchive array: \(error)") } } */
// dataStrArray = arrayStrNSData
// for imageName in arrayStrNSData {
/*
do {
// let str = (try NSKeyedUnarchiver.unarchivedObject(ofClass: NSString.self, from: imageName))!
dataStrArray = try NSKeyedUnarchiver.unarchivedObject(ofClass: NSArray.self, from: strNSData) as! [Data]
// let data = try NSKeyedUnarchiver.unarchivedObject(ofClass: NSData.self, from: imageName) as! Data
// imgName.append(str as String)
// dataStrArray.append( imageName) //dataArray, imgNSData - массив Data
} catch {
print("could not unarchive array: \(error)") }
*/
// }
/* arrayStrNSData.forEach { (imageName) in do {
dataStrArray = try NSKeyedUnarchiver.unarchivedObject(ofClass: NSArray.self, from: imageName) as! [Data]
// imgNSData.append(contentsOf: dataArray) //dataArray, imgNSData - массив Data
} catch { print("could not unarchive array: \(error)") } }*/
}
for data in imgNSData {
do {
guard let img = try NSKeyedUnarchiver.unarchivedObject(ofClass: UIImage.self, from: data) else {
return }
imgData.append(img as UIImage)
} catch {
print("could not unarchive array")
}
}
}
//--------------------------------------------------------------------------------------------
func getElectrician_1() {
appDelegate = UIApplication.shared.delegate as? AppDelegate
func getManObj_1() {
appDelegate = UIApplication.shared.delegate as? AppDelegate
guard let managedContext = appDelegate?.persistentContainer.viewContext
else {
print("Could not managedContext.")
return
} // let managedContext = appDelegate.persistentContainer.viewContext
let fetchRequest = NSFetchRequest<NSManagedObject>(entityName: "Electrician_1")
var fetchRequest = NSFetchRequest<NSManagedObject>(entityName: "Electrician_1")
do {
Electrician_1 = try managedContext.fetch(fetchRequest)
} catch let error as NSError {
print("Could not fetch. \(error), \(error.userInfo)")
return
// return
}
fetchRequest = NSFetchRequest<NSManagedObject>(entityName: "Plumber_1")
do {
Plumber_1 = try managedContext.fetch(fetchRequest)
} catch let error as NSError {
print("Could not fetch. \(error), \(error.userInfo)")
/// return
}
fetchRequest = NSFetchRequest<NSManagedObject>(entityName: "Handyman_1")
do {
Handyman_1 = try managedContext.fetch(fetchRequest)
} catch let error as NSError {
print("Could not fetch. \(error), \(error.userInfo)")
/// return
}
fetchRequest = NSFetchRequest<NSManagedObject>(entityName: "Locksmith_1")
do {
Locksmith_1 = try managedContext.fetch(fetchRequest)
} catch let error as NSError {
print("Could not fetch. \(error), \(error.userInfo)")
/// return
}
}
//--------------------------------------------------------------------------------------------
func load()->Int {
getElectrician_1()
// var imgName:[String] = NSArray() as! [String]
let count = Electrician_1.count
if count == 0 {
return 0
}
// var index = 0
var imgName:[String] = NSArray() as! [String]
var imgData:[UIImage] = NSArray() as! [UIImage]
imgNSData.removeAll()
imgNSName.removeAll()
// arrayStrNSData.removeAll()
// arrayImgNSData.removeAll() // var dataStrArray = [Data]()
dataStrArray.removeAll()
if appDelegate?.sim == 1 {
// var i = 0 // for data in Electrician_1 {
/* let stringes = data.value(forKey: "imgName") // imgName = strArrayTransformer.reverseTransformedValue(stringes) as! [String]
arrayStrNSData = strArrayTransformer.reverseTransformedValue(stringes) as! NSArray as? [NSData]
let images = data.value(forKey: "imgData")
// imgData = NSArrayTransformer.reverseTransformedValue(images) as! [UIImage]
arrayImgNSData = NSArrayTransformer.reverseTransformedValue(images) as! NSArray as? [NSData]*/ //массив NSData
/* i=0 for element in stringes { imgName.append(element)
listImageGalery.listNameElectricImageGalery.updateValue(element , forKey: i)
i = i+1 } i=0 for element in images { imgData.append(element)
listImageGalery.listElectricImageGalery.updateValue(element , forKey: i) i = i+1
}*/ // index = index + 1
loadNSData()
}
for strData in dataStrArray {
let str = self.reverseTransformedValueStr( strData)
if str != nil {
imgName.append(str as! String)
}
}
var i = 0
for str in imgName {
listImageGalery.listNameElectricImageGalery.updateValue(str, forKey: i)
i=i+1
}
for imageData in imgNSData {
let image = reverseTransformedValue( imageData)
if image != nil {
imgData.append(image as! UIImage)
}
}
i=0
for img in imgData {
listImageGalery.listElectricImageGalery.updateValue(img, forKey: i)
i=i+1
}
/* var coreDataArray = NSArray()
for image in imgData {
let provider:CGDataProvider = image.cgImage!.dataProvider!;
let data:NSData = provider.data!;
// let data: Data = NSData(image)
coreDataArray.adding(data)
}*/
/* for (key, value) in listImageGalery.listNameElectricImageGalery {
// imgName.append(value)
key = i
value = imgName[i]
i = i+1
}*/
return count
func loadAll()->Int {
getManObj_1()
// let count = Electrician_1.count
// if count == 0 { return 0 } //
var index = 0
// imgName.removeAll() imgData.removeAll()
// var Electrician_1: [NSManagedObject] = [] //var managedObject: [NSManagedObject] = []
for n in 0...3 {
index = 0
switch n {
case 0: // managedObject = Electrician_1
for electric in Electrician_1 {
let name = electric.value(forKey: "imgName")
let img = electric.value(forKey: "imgData")
let ui_image = UIImage(data: img as! Data)!
// imgName.append(name as! String) imgData.append(ui_image)
listImageGalery.listNameElectricImageGalery.updateValue(name as! String , forKey: index)
listImageGalery.listElectricImageGalery.updateValue(ui_image , forKey: index)
index = index + 1
}
continue
case 1: // managedObject = Plumber_1
for electric in Plumber_1 {
let name = electric.value(forKey: "imgName")
let img = electric.value(forKey: "imgData")
let ui_image = UIImage(data: img as! Data)!
// imgName.append(name as! String) imgData.append(ui_image)
listImageGalery.listNamePlumberImageGalery.updateValue(name as! String , forKey: index)
listImageGalery.listPlumberImageGalery.updateValue(ui_image , forKey: index)
index = index + 1
}
continue
case 2: // managedObject = Handyman_1
for electric in Handyman_1 {
let name = electric.value(forKey: "imgName")
let img = electric.value(forKey: "imgData")
let ui_image = UIImage(data: img as! Data)!
// imgName.append(name as! String) imgData.append(ui_image)
listImageGalery.listNameHandymanImageGalery.updateValue(name as! String , forKey: index)
listImageGalery.listHandymanImageGalery.updateValue(ui_image , forKey: index)
index = index + 1
}
continue
case 3: // managedObject = Locksmith_1
for electric in Locksmith_1 {
let name = electric.value(forKey: "imgName")
let img = electric.value(forKey: "imgData")
let ui_image = UIImage(data: img as! Data)!
// imgName.append(name as! String) imgData.append(ui_image)
listImageGalery.listNameLocksmithImageGalery.updateValue(name as! String , forKey: index)
listImageGalery.listLocksmithImageGalery.updateValue(ui_image , forKey: index)
index = index + 1
}
default:
break
} // print(n)
} // if appDelegate?.sim == 1 { }
// loadNSData()
return index
}
//--------------------------------------------------------------------------------------------
func loadWorkerData(flagWorker:Int)->Int {
getManObj_1()
// let count = Electrician_1.count
// if count == 0 {
// return 0 } //
var index = 0
// imgName.removeAll() imgData.removeAll()
// var Electrician_1: [NSManagedObject] = []
//var managedObject: [NSManagedObject] = []
// for n in 0...3 {
index = 0
switch flagWorker {
case 0: // managedObject = Electrician_1
for electric in Electrician_1 {
let name = electric.value(forKey: "imgName")
let img = electric.value(forKey: "imgData")
let ui_image = UIImage(data: img as! Data)!
// imgName.append(name as! String) imgData.append(ui_image)
listImageGalery.listNameElectricImageGalery.updateValue(name as! String , forKey: index)
listImageGalery.listElectricImageGalery.updateValue(ui_image , forKey: index)
index = index + 1
} // continue
case 1: // managedObject = Plumber_1
for electric in Plumber_1 {
let name = electric.value(forKey: "imgName")
let img = electric.value(forKey: "imgData")
let ui_image = UIImage(data: img as! Data)!
// imgName.append(name as! String) imgData.append(ui_image)
listImageGalery.listNamePlumberImageGalery.updateValue(name as! String , forKey: index)
listImageGalery.listPlumberImageGalery.updateValue(ui_image , forKey: index)
index = index + 1
} // continue
case 2: // managedObject = Handyman_1
for electric in Handyman_1 {
let name = electric.value(forKey: "imgName")
let img = electric.value(forKey: "imgData")
let ui_image = UIImage(data: img as! Data)!
// imgName.append(name as! String) imgData.append(ui_image)
listImageGalery.listNameHandymanImageGalery.updateValue(name as! String , forKey: index)
listImageGalery.listHandymanImageGalery.updateValue(ui_image , forKey: index)
index = index + 1
} // continue
case 3: // managedObject = Locksmith_1
for electric in Locksmith_1 {
let name = electric.value(forKey: "imgName")
let img = electric.value(forKey: "imgData")
let ui_image = UIImage(data: img as! Data)!
// imgName.append(name as! String) imgData.append(ui_image)
listImageGalery.listNameLocksmithImageGalery.updateValue(name as! String , forKey: index)
listImageGalery.listLocksmithImageGalery.updateValue(ui_image , forKey: index)
index = index + 1
}
default:
break // } // print(n)
} // if appDelegate?.sim == 1 { }
// loadNSData()
return index
}
//-------------------------------------------------------------------------------------------------------------
func save(imageData:UIImage,name: String,flagWorker:Int) {
/*
Трансформируемые атрибуты являются неизменяемым типом, поэтому их нельзя изменить.
Единственный способ изменить их — создать новый объект и снова сохранить его в основных данных.
*/
var nameWorker:String
appDelegate = UIApplication.shared.delegate as? AppDelegate
guard let managedContext = appDelegate?.persistentContainer.viewContext
else {
print("Could not make managedContext.")
return
} // let set = company.mutableSetValue(forKey: "employee")
// open class func insertNewObject(forEntityName entityName: String, into context: NSManagedObjectContext) -> NSManagedObject
//let electric = NSEntityDescription.insertNewObject(forEntityName: "Electrician_1", into: managedContext)
var fetchRequest = NSFetchRequest<NSManagedObject>(entityName: "Electrician_1")
}
switch flagWorker {
case 0: nameWorker = String("Electrician_1")
case 1: nameWorker = String("Plumber_1")
case 2: nameWorker = String("Handyman_1")
case 3: nameWorker = String("Locksmith_1")
default: nameWorker = String("Electrician_1")
}
let fetchRequest = NSFetchRequest<NSManagedObject>(entityName: nameWorker)
do {
switch flagWorker {
case 0:
Electrician_1 = try managedContext.fetch(fetchRequest)
case 1:
Plumber_1 = try managedContext.fetch(fetchRequest)
case 2:
Handyman_1 = try managedContext.fetch(fetchRequest)
case 3:
Locksmith_1 = try managedContext.fetch(fetchRequest)
default: break
}
} catch let error as NSError {
print("Could not fetch. \(error), \(error.userInfo)")
return
}
// var imgName:[String] = NSArray() as! [String]
// var imgData:[UIImage] = NSArray() as! [UIImage]
/* let strArrayTransformer = StringArrayTransformer()
let NSArrayTransformer = NSArrayValueTransformer()*/
let count = Electrician_1.count
if count == 0 {
// let electric/*:NSManagedObject*/ = NSEntityDescription.insertNewObject(forEntityName: "Electrician_1", into: managedContext)
//// let cmsg = NSManagedObject(entity: fetchRequest, insertInto: managedContext) as! Electrician_1
//// let mRanges = Ranges(ranges: rangeArrays)
//// cmsg.setValue(mRanges, forKeyPath: "range")
let electric/*:NSManagedObject*/ = NSEntityDescription.insertNewObject(forEntityName: "Electrician_1", into: managedContext)
var count = 0
let electric/*:NSManagedObject*/ = NSEntityDescription.insertNewObject(forEntityName: nameWorker, into: managedContext)
switch flagWorker {
case 0:
Electrician_1.append(electric) //= NSEntityDescription.insertNewObject(forEntityName: "Electrician_1", into: managedContext)
count = Electrician_1.count
case 1:
Plumber_1.append(electric)
count = Plumber_1.count
case 2:
Handyman_1.append(electric)
count = Handyman_1.count
case 3:
Locksmith_1.append(electric)
count = Locksmith_1.count
default:
Electrician_1.append(electric)
count = 0
}
imgName.append(name)
imgData.append(imageData)
// массив, который будет храниться в Core Data
var coreDataArray = [NSData]()
for image in imgData {
let provider:CGDataProvider = image.cgImage!.dataProvider!;
let data:NSData = provider.data!;
// let data: Data = NSData(image)
coreDataArray.append(data)
}
var strCoreDataArray = [NSData]()
for str in imgName {
let data: NSData = str.data(using: .utf8)! as NSData
strCoreDataArray.append(data)
}
//to store array of images using encoding
var images: Data?
do {
images = try NSKeyedArchiver.archivedData(withRootObject: coreDataArray, requiringSecureCoding: true)
} catch {
print("error")
}
// Electrician_1[0].setValue(images, forKeyPath: "imgData")
Electrician_1[0].setValue(imgData, forKeyPath: "imgData")
//Electrician_1[0].setValue(coreDataArray, forKeyPath: "imgData")
var stringes: Data?
do {
stringes = try NSKeyedArchiver.archivedData(withRootObject: strCoreDataArray, requiringSecureCoding: true)
} catch {
print("error")
}
Electrician_1[0].setValue(stringes, forKeyPath: "imgName")
// Electrician_1[0].setValue(strCoreDataArray, forKeyPath: "imgName")
/* // let dataImgName = strArrayTransformer.transformedValue(imgName)
let dataImgName = strArrayTransformer.transformedValue(strCoreDataArray)
let dataImgData = NSArrayTransformer.transformedValue(coreDataArray)
Electrician_1[0].setValue(dataImgName, forKey: "imgName")
// Electrician_1[0].setValue(strCoreDataArray, forKey: "imgName")
Electrician_1[0].setValue(dataImgData, forKey: "imgData")
// Electrician_1[0].setValue(coreDataArray, forKey: "imgData")*/
do {
try managedContext.save()
} catch let error as NSError {
print("Could not save. \(error), \(error.userInfo)")
}
return
}
// var index = 0 /// var arrayStrNSData:[Data] = [Data]() // var arrayImgNSData:[Data] = [Data]()
if appDelegate?.sim == 1
{
loadNSData()
}
for strData in dataStrArray {
let str = self.reverseTransformedValueStr( strData)
if str != nil {
imgName.append(str as! String)
}
}
// imgName.append(name)
var strCoreDataArray = [NSData]()
for str in imgName {
let data: NSData = str.data(using: .utf8)! as NSData
strCoreDataArray.append(data)
}
// массив, который будет храниться в Core Data
// var coreDataArray = NSArray()
for imageData in imgNSData {
let image = reverseTransformedValue( imageData)
if image != nil {
imgData.append(image as! UIImage)
}
}
var coreDataArray = [NSData]()
for image in imgData {
let provider:CGDataProvider = image.cgImage!.dataProvider!;
let data:NSData = provider.data!;
// let data: Data = NSData(image)
coreDataArray.append(data)
}
// imgData.append(imageData)
//let electric = NSEntityDescription.entity(forEntityName: "Electrician_1", in: managedContext)!
// var nameArray:[String] = NSArray() as! [String]
// var imgArray:[UIImage] = NSArray() as! [UIImage]
// let fetchRequest = NSFetchRequest<NSManagedObject>(entityName: "Electrician_1")
/* fetchRequest //:NSFetchRequest<NSFetchRequestResult>*
= NSFetchRequest.init(entityName: "Electrician_1")
do {
let test = try managedContext.fetch(fetchRequest)
if test.count == 0 {
return
}
let objectUpdate = test[0]
let stringes = strArrayTransformer.transformedValue(strCoreDataArray)
let images = NSArrayTransformer.transformedValue(coreDataArray)
objectUpdate.setValue(stringes, forKey: "imgName")
// objectUpdate.setValue(strCoreDataArray, forKey: "imgName")
objectUpdate.setValue(images, forKey: "imgData")
// objectUpdate.setValue(coreDataArray, forKey: "imgData")
*/
//to store array of images using encoding
var images: Data?
do {
images = try NSKeyedArchiver.archivedData(withRootObject: coreDataArray, requiringSecureCoding: true)
} catch {
print("error")
}
Electrician_1[0].setValue(images, forKeyPath: "imgData")
//Electrician_1[0].setValue(coreDataArray, forKeyPath: "imgData")
var stringes: Data?
do {
stringes = try NSKeyedArchiver.archivedData(withRootObject: strCoreDataArray, requiringSecureCoding: true)
} catch {
print("error")
}
Electrician_1[0].setValue(stringes, forKeyPath: "imgName")
//Electrician_1[0].setValue(strCoreDataArray, forKeyPath: "imgName")
// }
// catch let error as NSError {
// print("Could not save managedContext. \(error), \(error.userInfo)")
// }
electric.setValue(name, forKey: "imgName")
electric.setValue(imageData.jpegData(compressionQuality: 50.0), forKey: "imgData")
do {
try managedContext.save()
} catch let error as NSError {
......@@ -476,6 +400,11 @@ class DataStorage: NSObject {
}
}
//------------------------------------------------------------------------------------------------------
//no use
/*
Трансформируемые атрибуты являются неизменяемым типом, поэтому их нельзя изменить.
Единственный способ изменить их — создать новый объект и снова сохранить его в основных данных.
*/
public func reverseTransformedValue(_ value: Any?) -> Any? {
guard let data = value as? NSData else { return nil }
do {
......@@ -487,6 +416,7 @@ class DataStorage: NSObject {
}
}
//------------------------------------------------------------------------------------------------------
//no use
public func reverseTransformedValueStr(_ value: Any?) -> Any? {
guard let data = value as? NSData else { return nil }
// do {
......@@ -515,37 +445,34 @@ class DataStorage: NSObject {
////UserDefaults().set(imgNSData,forKey: "listNameElectricImageGalery_" + String(ind))
//UserDefaults().set(listImageGalery.listNameElectricImageGalery, forKey: "listNameElectricImageGalery" )
listImageGalery.listNameElectricImageGalery.updateValue(imageName, forKey: listImageGalery.listNameElectricImageGalery.count)
save(imageData: image, name: imageName, flagWorker: 0)
// var dictNSData:[Int:Data] = Dictionary()
/* if appDelegate?.sim == 1 {
var ind = 0
// save(imageData: image, name: imageName, flagWorker: 0)
// var dictNSData:[Int:Data] = Dictionary()
/* if appDelegate?.sim == 1 { var ind = 0
for _ in listImageGalery.listElectricImageGalery {
let image = listImageGalery.listElectricImageGalery[ind]
do {
let imgNSData = NSKeyedArchiver.archivedData(withRootObject :image)
dictNSData.updateValue(imgNSData,forKey:ind)
} catch {
print("NSKeyedArchiver")
}
ind = ind + 1
}
UserDefaults().set(dictNSData,forKey: "listElectricImageGalery")
}
*/
do { let imgNSData = NSKeyedArchiver.archivedData(withRootObject :image)
dictNSData.updateValue(imgNSData,forKey:ind) } catch { print("NSKeyedArchiver") }
ind = ind + 1 } UserDefaults().set(dictNSData,forKey: "listElectricImageGalery")
} */
case 1:
listImageGalery.listPlumberImageGalery.updateValue(image, forKey: listImageGalery.listPlumberImageGalery.count)
listImageGalery.listNamePlumberImageGalery.updateValue(imageName, forKey: listImageGalery.listNamePlumberImageGalery.count)
UserDefaults().set(listImageGalery.listNamePlumberImageGalery,forKey: "listNamePlumberImageGalery")
// UserDefaults().set(listImageGalery.listNamePlumberImageGalery,forKey: "listNamePlumberImageGalery")
//save(imageData: image, name: imageName, flagWorker: 1)
case 2:
listImageGalery.listHandymanImageGalery.updateValue(image, forKey: listImageGalery.listHandymanImageGalery.count)
listImageGalery.listNameHandymanImageGalery.updateValue(imageName, forKey: listImageGalery.listNameHandymanImageGalery.count)
UserDefaults().set(listImageGalery.listNameHandymanImageGalery,forKey: "listNameHandymanImageGalery")
// UserDefaults().set(listImageGalery.listNameHandymanImageGalery,forKey: "listNameHandymanImageGalery")
case 3:
listImageGalery.listLocksmithImageGalery.updateValue(image, forKey: listImageGalery.listHandymanImageGalery.count)
listImageGalery.listNameLocksmithImageGalery.updateValue(imageName, forKey: listImageGalery.listNameHandymanImageGalery.count)
// UserDefaults().set(listImageGalery.listNameHandymanImageGalery,forKey: "listNameLocksmithImageGalery")
default:
return
}
if appDelegate?.sim == 1 {
// self.save(imageData:image,name: imageName,flagWorker:flagTypeGalery)
save(imageData: image, name: imageName, flagWorker: flagTypeGalery)
}
}
......
......@@ -7,8 +7,10 @@
import UIKit
@available(iOS 12.0, *)
@objc(NSArrayValueTransformer)
class NSArrayValueTransformer: ValueTransformer, NSCoding {
class NSArrayValueTransformer: //ValueTransformer,
NSSecureUnarchiveFromDataTransformer {
// let coder:NSCoder
func encode(with coder: NSCoder) {
}
......@@ -42,6 +44,7 @@ class NSArrayValueTransformer: ValueTransformer, NSCoding {
override public func reverseTransformedValue(_ value: Any?) -> Any? {
guard let data = value as? NSData else {
// guard let data = value as? [NSData] else {
return nil }
let result = try? NSKeyedUnarchiver.unarchivedObject( ofClass: NSArray.self, from: data as Data)
// let result = try? NSKeyedUnarchiver.unarchivedObject( ofClass: NSData.self, from: data as Data)
......@@ -55,6 +58,7 @@ class NSArrayValueTransformer: ValueTransformer, NSCoding {
}
@available(iOS 12.0, *)
extension NSArrayValueTransformer {
/// The name of the transformer. This is the name used to register the transformer using `ValueTransformer.setValueTrandformer(_"forName:)`.
static let name = NSValueTransformerName(rawValue: String(describing: NSArrayValueTransformer.self.classForCoder()))
......
......@@ -45,7 +45,7 @@ class SettingsLauncher : UIViewController, UITableViewDelegate, UITableViewDataS
let frazes:[String] = [
"","Login/Signup","Get Support","Settings","Terms&Conditions","About Fixid",
"Select source", "Camera", "Photogalery","Cancel",
"Select source", "Take Photo...", "Choose from Library...","Cancel",
"Electrician Emergency Departure",
"Entering electricity into the house",
"Dismantling the electric heated towel rail",
......@@ -79,7 +79,7 @@ class SettingsLauncher : UIViewController, UITableViewDelegate, UITableViewDataS
tableView.tableFooterView = UIView()
tableView.tableHeaderView = UIView()
tableView.separatorStyle = .none
// tableView.separatorStyle = .none
navController = navigVC
self.dispatcher = dispatcher
......@@ -151,7 +151,8 @@ class SettingsLauncher : UIViewController, UITableViewDelegate, UITableViewDataS
blackView.alpha = 0
UIView.animate(withDuration: 0.5, delay: 0, usingSpringWithDamping: 1, initialSpringVelocity: 1, options: .curveEaseOut, animations: {
self.blackView.alpha = 1
self.tableView.frame = CGRect(x:10, y: yw, width: self.tableView.frame.width-10, height: self.tableView.frame.height)
self.tableView.frame = CGRect(x:10, y: yw, width: self.tableView.frame.width-10, height: self.tableView.frame.height)
// self.tableView.frame = CGRect(x:10, y: yw, width: self.tableView.frame.width-10, height: window.frame.height-100)
self.tableView.layer.cornerRadius = 10
}, completion: nil)
}
......
......@@ -8,8 +8,10 @@
import Foundation
/// A value transformer which transforms `UIColor` instances into data using `NSSecureCoding`.
@available(iOS 12.0, *)
@objc(StringArrayTransformer)
public final class StringArrayTransformer: ValueTransformer, NSCoding {
public final class StringArrayTransformer: //ValueTransformer,
NSSecureUnarchiveFromDataTransformer {
// let coder:NSCoder
public func encode(with coder: NSCoder) {
......@@ -33,7 +35,7 @@ public final class StringArrayTransformer: ValueTransformer, NSCoding {
override public func transformedValue(_ value: Any?) -> Any? {
guard let stringArray = value as? [NSData] else {
// guard let image = value as? NSData else {
// guard let image = value as? NSData else {
return nil }
do {
// let data = try NSKeyedArchiver.archivedData(withRootObject: image, requiringSecureCoding: true)
......@@ -61,6 +63,7 @@ public final class StringArrayTransformer: ValueTransformer, NSCoding {
// public static let name = NSValueTransformerName(rawValue: String(describing: StringArrayTransformer.self))
}
@available(iOS 12.0, *)
extension StringArrayTransformer {
/// The name of the transformer. This is the name used to register the transformer using `ValueTransformer.setValueTrandformer(_"forName:)`.
public static let name = NSValueTransformerName(rawValue: String(describing: StringArrayTransformer.self.classForCoder()))
......
......@@ -21,7 +21,7 @@ public final class GlidingCollection: UIView {
setupVerticalStack()
}
}
/// Index of expanded item.
public var expandedItemIndex = 0 {
didSet {
......@@ -68,12 +68,14 @@ public final class GlidingCollection: UIView {
override public init(frame: CGRect) {
super.init(frame: frame)
commonInit()
self.layer.cornerRadius = 12
}
/// :nodoc:
required public init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
commonInit()
self.layer.cornerRadius = 12
}
private func commonInit() {
......@@ -92,14 +94,14 @@ extension GlidingCollection: UIGestureRecognizerDelegate {
super.layoutSubviews()
containerView.frame = bounds
containerView.contentSize = bounds.size
let cardSize = config.cardsSize
collectionView.frame = CGRect(x: 0, y: bounds.height/2 - cardSize.height/2, width: bounds.width, height: cardSize.height)
/* collectionView.frame = CGRect(x: 0, y: bounds.height/4 - cardSize.height/3, width: bounds.width, height: cardSize.height/3)
*/
animateTopButtons()
animateBottomButtons()
let topOverylayHeight = collectionView.frame.minY
// topOverlayGradient.frame = CGRect(x: 0, y: 0, width: bounds.width, height: topOverylayHeight)
topOverlayGradient.frame = CGRect(x: 0, y: bounds.height/2 - cardSize.height/2, width: bounds.width, height: 0)
......@@ -138,12 +140,17 @@ fileprivate extension GlidingCollection {
setupVerticalStack()
setupPanGesture()
setupGradientOverlays()
collectionView.layer.cornerRadius = 12
layer.cornerRadius = 12
}
private func setupContainerView() {
addSubview(containerView)
containerView.alwaysBounceVertical = true
containerView.delegate = self
containerView.layer.cornerRadius = 12
}
private func setupCollectionView() {
......@@ -162,6 +169,8 @@ fileprivate extension GlidingCollection {
collectionView.delaysContentTouches = true
collectionView.clipsToBounds = false
collectionView.collectionViewLayout.invalidateLayout()
collectionView.layer.cornerRadius = 12
}
func setupVerticalStack() {
......@@ -362,6 +371,8 @@ extension GlidingCollection {
parallaxView.transform = .identity
}
cell.contentView.layer.render(in: context)
// cell.contentView.layer.cornerRadius = 12 //ashar
}
newCellSnapshotView.image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
......@@ -390,6 +401,7 @@ extension GlidingCollection {
UIGraphicsBeginImageContextWithOptions(cell.bounds.size, true, 0)
if let context = UIGraphicsGetCurrentContext() {
cell.layer.cornerRadius = 10 //ashar
cell.layer.render(in: context)
}
newRightSideSnapshotView.image = UIGraphicsGetImageFromCurrentImageContext()
......@@ -726,6 +738,8 @@ extension GlidingCollection: GlidingLayoutDelegate {
func collectionViewDidScroll() {
for cell in collectionView.visibleCells where cell.alpha == 0 {
cell.alpha = 1
// cell.layer.cornerRadius = 10 //ashar
}
guard animationInProcess else { return }
removeSnapshots()
......
......@@ -55,7 +55,7 @@ final class GlidingLayout: UICollectionViewFlowLayout {
private func transformLayoutAttributes(_ attributes: UICollectionViewLayoutAttributes) -> UICollectionViewLayoutAttributes {
guard let collectionView = self.collectionView else { return attributes }
let startOffset = (attributes.frame.origin.x - collectionView.contentOffset.x - sectionInset.left) / attributes.frame.width
let maxScale: CGFloat = 1.2
let minScale: CGFloat = 1.0
......@@ -66,7 +66,7 @@ final class GlidingLayout: UICollectionViewFlowLayout {
if let contentView = collectionView.cellForItem(at: attributes.indexPath)?.contentView, let parallaxView = contentView.viewWithTag(99) {
parallaxView.transform = CGAffineTransform(scaleX: scale, y: scale)
}
return attributes
}
......
......@@ -3,19 +3,31 @@
<entity name="Electrician_1" representedClassName="Electrician_1" syncable="YES" codeGenerationType="class">
<attribute name="contacts" optional="YES" attributeType="String"/>
<attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
<attribute name="imgData" attributeType="Transformable" valueTransformerName="NSArrayValueTransformer" customClassName="NSData"/>
<attribute name="imgName" attributeType="Transformable" valueTransformerName="StringArrayTransformer" customClassName="NSData"/>
<attribute name="imgData" optional="YES" attributeType="Binary" valueTransformerName="NSArrayValueTransformer" customClassName="[NSData]"/>
<attribute name="imgName" optional="YES" attributeType="String" valueTransformerName="StringArrayTransformer"/>
<attribute name="payment" optional="YES" attributeType="String"/>
<attribute name="workLocation" optional="YES" attributeType="String"/>
</entity>
<entity name="ImageProperty" representedClassName="ImageProperty" syncable="YES" codeGenerationType="class">
<attribute name="attribute" optional="YES" attributeType="Transformable"/>
<attribute name="nameImageElectric" optional="YES" attributeType="String"/>
<attribute name="nameImageHandyman" optional="YES" attributeType="String"/>
<attribute name="nameImagePlumber" optional="YES" attributeType="String"/>
<entity name="Handyman_1" representedClassName="Handyman_1" syncable="YES" codeGenerationType="class">
<attribute name="contacts" optional="YES" attributeType="String"/>
<attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
<attribute name="imgData" optional="YES" attributeType="Binary"/>
<attribute name="imgName" optional="YES" attributeType="String"/>
<attribute name="payment" optional="YES" attributeType="String"/>
<attribute name="workLocation" optional="YES" attributeType="String"/>
</entity>
<entity name="Locksmith_1" representedClassName="Locksmith_1" syncable="YES" codeGenerationType="class">
<attribute name="imgData" optional="YES" attributeType="Binary"/>
<attribute name="imgName" optional="YES" attributeType="String"/>
</entity>
<entity name="Plumber_1" representedClassName="Plumber_1" syncable="YES" codeGenerationType="class">
<attribute name="imgData" optional="YES" attributeType="Binary"/>
<attribute name="imgName" optional="YES" attributeType="String"/>
</entity>
<elements>
<element name="Electrician_1" positionX="-45" positionY="27" width="128" height="133"/>
<element name="ImageProperty" positionX="-63" positionY="-18" width="128" height="103"/>
<element name="Plumber_1" positionX="-45" positionY="72" width="128" height="73"/>
<element name="Handyman_1" positionX="-36" positionY="81" width="128" height="133"/>
<element name="Locksmith_1" positionX="-18" positionY="90" width="128" height="73"/>
</elements>
</model>
\ No newline at end of file
......@@ -34,8 +34,10 @@ class SOTabBarItem: UIView {
guard let selecteImage = item.image else {
fatalError("You should set image to all view controllers")
}
// if self.image == nil {
self.image = selecteImage
self.title = item.title ?? ""
// }
super.init(frame: .zero)
drawConstraints()
}
......
......@@ -10,8 +10,9 @@ import UIKit
class SmallListWorkVC: UIViewController {
let fullView: CGFloat = 100
var partialView: CGFloat {
return UIScreen.main.bounds.height - (400 + UIApplication.shared.statusBarFrame.height)
// return UIScreen.main.bounds.height - 200
// return UIScreen.main.bounds.height - (400 + UIApplication.shared.statusBarFrame.height)
return 50 + UIApplication.shared.statusBarFrame.height
// return UIScreen.main.bounds.height - 100
}
override func viewDidLoad() {
super.viewDidLoad()
......
......@@ -71,22 +71,12 @@
</textField>
</subviews>
</stackView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="B9M-8S-4PD">
<rect key="frame" x="21" y="367" width="372" height="36"/>
<color key="backgroundColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="36" id="Loh-aF-Qb1"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<state key="normal" title="DO IT!">
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
</button>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" text="What do you want to do?" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" clearButtonMode="always" translatesAutoresizingMaskIntoConstraints="NO" id="31i-Py-j20">
<rect key="frame" x="21" y="113" width="324" height="34"/>
<rect key="frame" x="20" y="113" width="341" height="34"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" constant="324" id="Kci-qW-DmA"/>
<constraint firstAttribute="height" constant="34" id="o1S-1F-Uf7"/>
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="34" id="ptZ-wW-lFP"/>
</constraints>
<color key="textColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
......@@ -97,35 +87,47 @@
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</textField>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" text="Undefined address" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="VWO-IA-oF7">
<rect key="frame" x="21" y="60" width="372" height="34"/>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" text="Undefined address" placeholder="22 Dorlan ave, Manchester" textAlignment="natural" adjustsFontSizeToFit="NO" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="VWO-IA-oF7">
<rect key="frame" x="66" y="60" width="327" height="34"/>
<color key="backgroundColor" systemColor="systemGroupedBackgroundColor"/>
<constraints>
<constraint firstAttribute="height" constant="34" id="Fzx-ot-jnc"/>
</constraints>
<color key="textColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<fontDescription key="fontDescription" type="system" pointSize="15"/>
<textInputTraits key="textInputTraits"/>
</textField>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="eva_pin-fill" adjustsImageSizeForAccessibilityContentSizeCategory="YES" translatesAutoresizingMaskIntoConstraints="NO" id="1Kn-J7-KjP">
<rect key="frame" x="20" y="60" width="38" height="34"/>
<constraints>
<constraint firstAttribute="width" constant="38" id="HNd-tb-8iq"/>
<constraint firstAttribute="height" constant="34" id="Lwm-Jp-b9h"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="microphon" translatesAutoresizingMaskIntoConstraints="NO" id="Sc0-cO-Rk1">
<rect key="frame" x="353" y="111" width="38" height="38"/>
<rect key="frame" x="369" y="120" width="22" height="21.5"/>
</imageView>
</subviews>
<viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/>
<color key="backgroundColor" systemColor="systemGroupedBackgroundColor"/>
<constraints>
<constraint firstItem="nqP-jn-KuZ" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="20" id="3NQ-iu-OjB"/>
<constraint firstItem="Sc0-cO-Rk1" firstAttribute="top" secondItem="VWO-IA-oF7" secondAttribute="bottom" constant="17" id="LrC-f6-dlh"/>
<constraint firstItem="VWO-IA-oF7" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="21" id="OSi-y4-HpV"/>
<constraint firstItem="nqP-jn-KuZ" firstAttribute="top" secondItem="Sc0-cO-Rk1" secondAttribute="bottom" constant="20" id="QEO-iQ-tg0"/>
<constraint firstItem="Sc0-cO-Rk1" firstAttribute="centerY" secondItem="31i-Py-j20" secondAttribute="centerY" id="TDb-ta-TUf"/>
<constraint firstItem="B9M-8S-4PD" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="21" id="TGQ-gf-5CR"/>
<constraint firstItem="31i-Py-j20" firstAttribute="leading" secondItem="B9M-8S-4PD" secondAttribute="leading" id="V8m-uy-Afk"/>
<constraint firstItem="nqP-jn-KuZ" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" constant="169" id="Vd6-l6-D0K"/>
<constraint firstItem="nqP-jn-KuZ" firstAttribute="top" secondItem="31i-Py-j20" secondAttribute="bottom" constant="22" id="b8j-fB-CM9"/>
<constraint firstItem="nqP-jn-KuZ" firstAttribute="top" secondItem="31i-Py-j20" secondAttribute="bottom" constant="22" id="2JR-Kx-yo0"/>
<constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="VWO-IA-oF7" secondAttribute="trailing" constant="21" id="91k-XE-YzU"/>
<constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="nqP-jn-KuZ" secondAttribute="trailing" constant="20" id="DDE-re-9Mk"/>
<constraint firstItem="VWO-IA-oF7" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" constant="16" id="JbQ-WW-A5y"/>
<constraint firstItem="Sc0-cO-Rk1" firstAttribute="leading" secondItem="31i-Py-j20" secondAttribute="trailing" constant="8" symbolic="YES" id="LPr-Az-USe"/>
<constraint firstItem="1Kn-J7-KjP" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" constant="16" id="LQY-V7-tkr"/>
<constraint firstItem="Sc0-cO-Rk1" firstAttribute="top" secondItem="VWO-IA-oF7" secondAttribute="bottom" constant="26" id="LrC-f6-dlh"/>
<constraint firstItem="31i-Py-j20" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="20" id="O4L-wy-N82"/>
<constraint firstItem="VWO-IA-oF7" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="66" id="OSi-y4-HpV"/>
<constraint firstItem="Sc0-cO-Rk1" firstAttribute="leading" secondItem="31i-Py-j20" secondAttribute="trailing" constant="8" symbolic="YES" id="PLb-ch-Xoh"/>
<constraint firstItem="VWO-IA-oF7" firstAttribute="leading" secondItem="1Kn-J7-KjP" secondAttribute="trailing" constant="8" id="SWx-MB-wd4"/>
<constraint firstItem="nqP-jn-KuZ" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="20" id="VY3-fz-kPt"/>
<constraint firstItem="31i-Py-j20" firstAttribute="top" secondItem="VWO-IA-oF7" secondAttribute="bottom" constant="19" id="aRO-M5-lJD"/>
<constraint firstItem="1Kn-J7-KjP" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="20" id="cNv-BL-NMI"/>
<constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="Sc0-cO-Rk1" secondAttribute="trailing" constant="23" id="cTk-wz-Zap"/>
<constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="VWO-IA-oF7" secondAttribute="trailing" constant="21" id="jLD-sB-2TI"/>
<constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="nqP-jn-KuZ" secondAttribute="trailing" constant="20" id="jyh-hc-rAZ"/>
<constraint firstItem="Sc0-cO-Rk1" firstAttribute="leading" secondItem="31i-Py-j20" secondAttribute="trailing" constant="8" symbolic="YES" id="lT3-Dz-ylw"/>
<constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="B9M-8S-4PD" secondAttribute="trailing" constant="21" id="mUT-4H-oJU"/>
<constraint firstItem="B9M-8S-4PD" firstAttribute="top" secondItem="nqP-jn-KuZ" secondAttribute="bottom" constant="17" id="nOE-qq-NJe"/>
<constraint firstItem="31i-Py-j20" firstAttribute="top" secondItem="VWO-IA-oF7" secondAttribute="bottom" constant="19" id="n42-Md-P9R"/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
......@@ -136,6 +138,7 @@
</view>
</objects>
<resources>
<image name="eva_pin-fill" width="12" height="12"/>
<image name="microphon" width="22" height="21.5"/>
<systemColor name="systemGroupedBackgroundColor">
<color red="0.94901960784313721" green="0.94901960784313721" blue="0.96862745098039216" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
......
......@@ -34,10 +34,10 @@ class CallProfiViewController: UIViewController, UITableViewDelegate, UITableVie
tableView.rowHeight = UITableView.automaticDimension
tableView.delegate = self
tableView.dataSource = self
let item1 = setBarButtom(str: "akar-icons_arrow-left")
let item1 = setBarButtom(str: "black_arrow-left")
self.navigationItem.setLeftBarButtonItems([item1], animated: true)
let item2 = setBarButtom(str: "gg_close")
let item2 = setBarButtomClose(str: "gg_close")
self.navigationItem.setRightBarButtonItems([item2], animated: true)
}
......@@ -49,6 +49,21 @@ class CallProfiViewController: UIViewController, UITableViewDelegate, UITableVie
let item1 = UIBarButtonItem(customView: btn1)
return item1
}
func setBarButtomClose(str:String)->UIBarButtonItem {
let btn1 = UIButton(type: .custom)
btn1.setImage(UIImage(named: str), for: .normal)
btn1.frame = CGRect(x: 0, y: 0, width: 60, height: 60)
btn1.addTarget(self, action: #selector(self.backToMain), for: .touchUpInside)
let item1 = UIBarButtonItem(customView: btn1)
return item1
}
@objc
func backToMain() {
let firstVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Logo")
//navigationController?.popViewController( animated: true)
navigationController?.pushViewController(firstVC, animated: true)
// navigationController?.popToRootViewController(animated: true)
}
@objc
func back() {
navigationController?.popViewController( animated: true)
......@@ -56,10 +71,13 @@ class CallProfiViewController: UIViewController, UITableViewDelegate, UITableVie
@IBAction func pressShowMap(_ sender: Any) {
guard let vc = storyboard?.instantiateViewController(withIdentifier: "Logo")
guard let vc = storyboard?.instantiateViewController(withIdentifier: "MainVC")
// guard let vc = storyboard?.instantiateViewController(withIdentifier: "Logo")
else { return }
(vc as! MainViewController).showWorkerMap = 1
// (vc as! CalendarViewController).delegate = self
// (vc as! MainViewController).showWorkerMap = 1
(vc as! MainVCViewController).initSecond()
((vc as! MainVCViewController).viewControllers[0] as! MainViewController).showWorkerMap = 1
//// vc.viewControllers[0] as! SOTabBarController
navigationController?.pushViewController(vc, animated: true)
// self.present(vc, animated: true, completion: nil)
}
......
......@@ -29,17 +29,47 @@ class DoubleElectricVC: UIViewController, UITableViewDelegate, UITableViewDataSo
override func viewDidLoad() {
super.viewDidLoad()
// Register the table view cell class and its reuse id
// Register the table view cell class and its reuse id
self.tableView.register(UITableViewCell.self, forCellReuseIdentifier: cellReuseIdentifier)
tableView.rowHeight = 45
tableView.delegate = self
tableView.dataSource = self
descTextView.delegate = self
settingsLauncher.delegate = self
tableView.delegate = self
tableView.dataSource = self
descTextView.delegate = self
settingsLauncher.delegate = self
setup()
glidingView.isHidden = true
// addPhotoTopConstraint.constant = 78
let item1 = setBarButtom(str: "black_arrow-left")
self.navigationItem.setLeftBarButtonItems([item1], animated: true)
let item2 = setBarButtomClose(str: "gg_close")
self.navigationItem.setRightBarButtonItems([item2], animated: true)
}
func setBarButtom(str:String)->UIBarButtonItem {
let btn1 = UIButton(type: .custom)
btn1.setImage(UIImage(named: str), for: .normal)
btn1.frame = CGRect(x: 0, y: 0, width: 60, height: 60)
btn1.addTarget(self, action: #selector(self.back), for: .touchUpInside)
let item1 = UIBarButtonItem(customView: btn1)
return item1
}
func setBarButtomClose(str:String)->UIBarButtonItem {
let btn1 = UIButton(type: .custom)
btn1.setImage(UIImage(named: str), for: .normal)
btn1.frame = CGRect(x: 0, y: 0, width: 60, height: 60)
btn1.addTarget(self, action: #selector(self.backToMain), for: .touchUpInside)
let item1 = UIBarButtonItem(customView: btn1)
return item1
}
@objc
func backToMain() {
let firstVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Logo")
//navigationController?.popViewController( animated: true)
navigationController?.pushViewController(firstVC, animated: true)
// navigationController?.popToRootViewController(animated: true)
}
@objc
func back() {
navigationController?.popViewController( animated: true)
}
override func viewWillAppear(_ animated: Bool) {
......@@ -54,7 +84,7 @@ class DoubleElectricVC: UIViewController, UITableViewDelegate, UITableViewDataSo
else { return }
settingsLauncher.showSettings(navigVC: navVC,dispatcher:0)
glidingView.isHidden = false
addPhotoConstraint.constant = 98
addPhotoConstraint.constant = 108
}
@IBAction func pressBookNow(_ sender: Any) {
......
......@@ -46,6 +46,11 @@ class ElectricTableViewController:UIViewController,UITableViewDataSource, UITabl
tableView.delegate = self
tableView.dataSource = self
descTextView.delegate = self
// title = "Electric"
let item1 = setBarButtom(str: "black_arrow-left")
self.navigationItem.setLeftBarButtonItems([item1], animated: true)
let item2 = setBarButtomClose(str: "gg_close")
self.navigationItem.setRightBarButtonItems([item2], animated: true)
setup()
glidingView.isHidden = true
......@@ -57,26 +62,24 @@ class ElectricTableViewController:UIViewController,UITableViewDataSource, UITabl
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
collectionView.reloadData()
collectionView.collectionViewLayout.invalidateLayout()
navigationController?.navigationBar.titleTextAttributes = [.foregroundColor:UIColor(red: 0 / 255, green: 0 / 255, blue: 0 / 255, alpha: 1.0)]
self.navigationController?.setNavigationBarHidden(false, animated: animated)
navigationController?.title = "Electric"
let item1 = setBarButtom(str: "akar-icons_arrow-left")
self.navigationItem.setLeftBarButtonItems([item1], animated: true)
self.navigationController?.navigationBar.topItem?.title = "Electric"
title = "Electric"
navigationController?.navigationBar.titleTextAttributes = [.foregroundColor:UIColor(red: 1 / 255, green: 0 / 255, blue: 0 / 255, alpha: 1.0)]
let item2 = setBarButtom(str: "gg_close")
self.navigationItem.setRightBarButtonItems([item2], animated: true)
/* if dataStorage != nil { countData = dataStorage!.load()
if countData > 0 { var ind = 0 for _ in images {
images.append(dataStorage?.listImageGalery.listElectricImageGalery[ind])
ind = ind + 1 } } }*/
countPhotoElectric = (dataStorage?.load())! as Int
collectionView.reloadData()
collectionView.collectionViewLayout.invalidateLayout()
countPhotoElectric = (dataStorage?.loadWorkerData(flagWorker:0))! as Int
if countPhotoElectric > 0 {
images = dataStorage?.getImageArray(flag:0) as! [UIImage?]
if images.count > 0 {
glidingView.isHidden = false
addPhotoTopConstraint.constant = 112
collectionView.reloadData()
}
}
}
func setBarButtom(str:String)->UIBarButtonItem {
......@@ -87,27 +90,49 @@ class ElectricTableViewController:UIViewController,UITableViewDataSource, UITabl
let item1 = UIBarButtonItem(customView: btn1)
return item1
}
func setBarButtomClose(str:String)->UIBarButtonItem {
let btn1 = UIButton(type: .custom)
btn1.setImage(UIImage(named: str), for: .normal)
btn1.frame = CGRect(x: 0, y: 0, width: 60, height: 60)
btn1.addTarget(self, action: #selector(self.backToMain), for: .touchUpInside)
let item1 = UIBarButtonItem(customView: btn1)
return item1
}
@objc
func back() {
let firstVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Logo")
// navigationController?.popViewController( animated: true)
navigationController?.pushViewController(firstVC, animated: true)
// let firstVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Logo")
navigationController?.popViewController( animated: true)
// navigationController?.
// navigationController?.popToRootViewController(animated: true)
}
@objc
func backToMain() {
let firstVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Logo")
navigationController?.pushViewController(firstVC, animated: true)
}
@IBAction func BookNowClick(_ sender: Any) {
let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "BookingVK")
let transition = CATransition()
//Анимация с растворением
// let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "BookingVK")
/* let transition = CATransition()
transition.duration = 0.99
transition.timingFunction = CAMediaTimingFunction(name: CAMediaTimingFunctionName.easeInEaseOut)
transition.type = CATransitionType.fade //растворяется
// transition.type = CATransitionType.reveal //moving right
self.navigationController?.view.layer.add(transition, forKey: nil)
self.navigationController?.view.layer.add(transition, forKey: nil)*/
// _ = self.navigationController?.popToRootViewController(animated: false)
navigationController?.pushViewController(vc, animated: true)
// navigationController?.pushViewController(vc, animated: true)
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc:UIViewController
if #available(iOS 13.0, *) {
vc = storyboard.instantiateViewController(identifier: "BookingVK") as! VKBookingViewController
} else {
vc = storyboard.instantiateViewController(withIdentifier: "BookingVK")
}
navigationController?.pushViewController(vc, animated: true)
}
......@@ -116,7 +141,7 @@ class ElectricTableViewController:UIViewController,UITableViewDataSource, UITabl
else { return }
settingsLauncher.showSettings(navigVC: navVC,dispatcher:0)
glidingView.isHidden = false
addPhotoTopConstraint.constant = 102
addPhotoTopConstraint.constant = 106
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
......
......@@ -29,17 +29,18 @@ class EmerElecricianViewController: UIViewController, UITableViewDataSource, UIT
tableView.delegate = self
tableView.dataSource = self
addressView.layer.borderColor = UIColor.lightGray.cgColor
let item1 = setBarButtom(str: "black_arrow-left")
self.navigationItem.setLeftBarButtonItems([item1], animated: true)
let item2 = setBarButtom(str: "gg_close")
self.navigationItem.setRightBarButtonItems([item2], animated: true)
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
title = "Electrician emergency"
navigationController?.navigationBar.titleTextAttributes = [.foregroundColor:UIColor(red: 255 / 255, green: 94 / 255, blue: 58 / 255, alpha: 1.0)]
let item1 = setBarButtom(str: "akar-icons_arrow-left")
self.navigationItem.setLeftBarButtonItems([item1], animated: true)
let item2 = setBarButtom(str: "gg_close")
self.navigationItem.setRightBarButtonItems([item2], animated: true)
self.navigationController?.setNavigationBarHidden(false, animated: animated)
}
func setBarButtom(str:String)->UIBarButtonItem {
......@@ -50,7 +51,21 @@ class EmerElecricianViewController: UIViewController, UITableViewDataSource, UIT
let item1 = UIBarButtonItem(customView: btn1)
return item1
}
func setBarButtomClose(str:String)->UIBarButtonItem {
let btn1 = UIButton(type: .custom)
btn1.setImage(UIImage(named: str), for: .normal)
btn1.frame = CGRect(x: 0, y: 0, width: 60, height: 60)
btn1.addTarget(self, action: #selector(self.backToMain), for: .touchUpInside)
let item1 = UIBarButtonItem(customView: btn1)
return item1
}
@objc
func backToMain() {
let firstVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Logo")
//navigationController?.popViewController( animated: true)
navigationController?.pushViewController(firstVC, animated: true)
// navigationController?.popToRootViewController(animated: true)
}
@objc
func back() {
navigationController?.popViewController( animated: true)
......
......@@ -31,18 +31,21 @@ class EmerHandViewController: UIViewController, UITableViewDataSource,
tableView.rowHeight = 45
tableView.delegate = self
tableView.dataSource = self
let item1 = setBarButtom(str: "black_arrow-left")
self.navigationItem.setLeftBarButtonItems([item1], animated: true)
let item2 = setBarButtomClose(str: "gg_close")
self.navigationItem.setRightBarButtonItems([item2], animated: true)
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
title = "Emergency handyman"
self.navigationController?.setNavigationBarHidden(false, animated: animated)
navigationController?.navigationBar.titleTextAttributes = [.foregroundColor:UIColor(red: 255 / 255, green: 94 / 255, blue: 58 / 255, alpha: 1.0)]
title = "Emergency handyman"
self.navigationController?.navigationBar.topItem?.title = "Emergency handyman"
self.navigationController?.navigationItem.title = "Emergency handyman"
let item1 = setBarButtom(str: "akar-icons_arrow-left")
self.navigationItem.setLeftBarButtonItems([item1], animated: true)
let item2 = setBarButtom(str: "gg_close")
self.navigationItem.setRightBarButtonItems([item2], animated: true)
}
func setBarButtom(str:String)->UIBarButtonItem {
......@@ -53,11 +56,24 @@ class EmerHandViewController: UIViewController, UITableViewDataSource,
let item1 = UIBarButtonItem(customView: btn1)
return item1
}
func setBarButtomClose(str:String)->UIBarButtonItem {
let btn1 = UIButton(type: .custom)
btn1.setImage(UIImage(named: str), for: .normal)
btn1.frame = CGRect(x: 0, y: 0, width: 60, height: 60)
btn1.addTarget(self, action: #selector(self.backToMain), for: .touchUpInside)
let item1 = UIBarButtonItem(customView: btn1)
return item1
}
@objc
func backToMain() {
let firstVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Logo")
//navigationController?.popViewController( animated: true)
navigationController?.pushViewController(firstVC, animated: true)
// navigationController?.popToRootViewController(animated: true)
}
@objc
func back() {
//// self.dismiss(animated: true, completion: nil)
navigationController?.popViewController( animated: true)
navigationController?.popViewController( animated: true)
}
@IBAction func pressBookNow(_ sender: Any) {
......
//
// EmerLocksmithVC.swift
// Em-call
//
// Created by Alex Sh on 22.04.2022.
//
import UIKit
class EmerLocksmithVC: UIViewController, UITableViewDelegate, UITableViewDataSource
{
var address = "Unknow address"
var dateAndTime = "2022/02/23"
var contact = "+1 123 112 11 22"
var card = "**** **** **** 1234"
let trackList = Track.getTrackList()
let cellReuseIdentifier = "cell"
@IBOutlet weak var tableView: UITableView!
@IBOutlet weak var addressView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
let item1 = setBarButtom(str: "black_arrow-left")
self.navigationItem.setLeftBarButtonItems([item1], animated: true)
let item2 = setBarButtomClose(str: "gg_close")
self.navigationItem.setRightBarButtonItems([item2], animated: true)
tableView.register(UITableViewCell.self, forCellReuseIdentifier: cellReuseIdentifier)
tableView.rowHeight = 25
tableView.delegate = self
tableView.dataSource = self
addressView.layer.borderColor = UIColor.lightGray.cgColor
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
title = "Locksmith emergency"
navigationController?.navigationBar.titleTextAttributes = [.foregroundColor:UIColor(red: 255 / 255, green: 94 / 255, blue: 58 / 255, alpha: 1.0)]
self.navigationController?.setNavigationBarHidden(false, animated: animated)
}
func setBarButtom(str:String)->UIBarButtonItem {
let btn1 = UIButton(type: .custom)
btn1.setImage(UIImage(named: str), for: .normal)
btn1.frame = CGRect(x: 0, y: 0, width: 60, height: 60)
btn1.addTarget(self, action: #selector(self.back), for: .touchUpInside)
let item1 = UIBarButtonItem(customView: btn1)
return item1
}
func setBarButtomClose(str:String)->UIBarButtonItem {
let btn1 = UIButton(type: .custom)
btn1.setImage(UIImage(named: str), for: .normal)
btn1.frame = CGRect(x: 0, y: 0, width: 60, height: 60)
btn1.addTarget(self, action: #selector(self.backToMain), for: .touchUpInside)
let item1 = UIBarButtonItem(customView: btn1)
return item1
}
@objc
func backToMain() {
let firstVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Logo")
//navigationController?.popViewController( animated: true)
navigationController?.pushViewController(firstVC, animated: true)
// navigationController?.popToRootViewController(animated: true)
}
@objc
func back() {
navigationController?.popViewController( animated: true)
}
@IBAction func pressButtonAddress(_ sender: Any) {
let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Map")
(vc as! MapViewController).delegate = self
navigationController?.pushViewController(vc, animated: true)
}
@IBAction func pressBookNow(_ sender: Any) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc:UIViewController
vc = storyboard.instantiateViewController(withIdentifier: "BookingVK")
navigationController?.pushViewController(vc, animated: true)
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
//return trackList.count
return 1
}
func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
// Создаём константу, именнo через неё мы будем обращаться к свойствам и изменять их
let header = view as! UITableViewHeaderFooterView
// Установить цвет текста в label
header.textLabel?.textColor = .black
// Установить цвет фона для секции
header.tintColor = UIColor.white
// Установить шрифт и размер шрифта для label
header.textLabel?.font = UIFont(name: "Helvetica-Regular", size: 10)
}
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}// Default is 1 if not implemented
func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
switch section {
case 0:
return ("Payment")
default: return ("Work location")
}
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: cellReuseIdentifier, for: indexPath)
let section = indexPath.section
switch section {
case 0: cell.textLabel?.text = card
default: break
}
cell.accessoryType = UITableViewCell.AccessoryType.disclosureIndicator
return cell
}
// method to run when table view cell is tapped
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print("You tapped cell number \(indexPath.row).")
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let nameXibName = ["Map","Calendar"]
let vc:UIViewController
let section = indexPath.section
switch section //if indexPath.row == 0
{
case 0: /* if #available(iOS 13.0, *) {
vc = storyboard.instantiateViewController(identifier: nameXibName[indexPath.row]) as! MapViewController
} else {*/
vc = storyboard.instantiateViewController(withIdentifier: nameXibName[1])
(vc as! CalendarViewController).delegate = self // let mapController:MapViewController! = MapViewController()
navigationController?.pushViewController(vc, animated: true)
/* case 1: vc = storyboard.instantiateViewController(withIdentifier: nameXibName[1])
(vc as! CalendarViewController).delegate = self
navigationController?.pushViewController(vc, animated: true)
case 2: vc = storyboard.instantiateViewController(withIdentifier: nameXibName[1])
(vc as! CalendarViewController).delegate = self
navigationController?.pushViewController(vc, animated: true)
case 3: vc = storyboard.instantiateViewController(withIdentifier: nameXibName[1])
(vc as! CalendarViewController).delegate = self
navigationController?.pushViewController(vc, animated: true)*/
default:
return
}
}
}
extension EmerLocksmithVC:MapViewControllerDelegate {
func delegateClick(text:String) {
address = text // NotificationCenter.default.post(name: NSNotification.Name(rawValue: "delegateClick"), object: nil)
tableView.reloadData()
}
}
extension EmerLocksmithVC:CalendarViewControllerDelegate {
func calendarDelegateClick(text:String,flagData:Int) {
switch flagData {
case 0:
dateAndTime = text
case 1:
contact = text
case 2:
card = text
default:
break
}
tableView.reloadData()
}
}
......@@ -15,7 +15,7 @@ class HandmanViewController: UIViewController, UITableViewDataSource,
var settingsLauncher:SettingsLauncher = SettingsLauncher()
let appDelegate = UIApplication.shared.delegate as? AppDelegate
var dataStorage:DataStorage? = nil
var listImageGalery:[String] = Array()
@IBOutlet weak var addPhotoTopConstraint: NSLayoutConstraint!
@IBOutlet weak var tableView: UITableView!
......@@ -27,8 +27,7 @@ class HandmanViewController: UIViewController, UITableViewDataSource,
@IBOutlet weak var glidingView: GlidingCollection!
fileprivate var collectionView: UICollectionView!
fileprivate var items = ["gloves", "boots", "bindings", "hoodie"]
// fileprivate var images: [[UIImage?]] = []
// fileprivate var images = [UIImage(named: "plus")!]
fileprivate var images: [UIImage?] = []
let cellReuseIdentifier = "cell"
var selRow:Int = 0
......@@ -37,6 +36,7 @@ class HandmanViewController: UIViewController, UITableViewDataSource,
var dateAndTime = "2022/02/23"
var contact = "+1 123 112 11 22"
var card = "**** **** **** 1234"
var countPhotoHandyman = 0
override func viewDidLoad() {
......@@ -47,6 +47,10 @@ class HandmanViewController: UIViewController, UITableViewDataSource,
tableView.dataSource = self
descTextView.delegate = self
let item1 = setBarButtom(str: "black_arrow-left")
self.navigationItem.setLeftBarButtonItems([item1], animated: true)
let item2 = setBarButtomClose(str: "gg_close")
self.navigationItem.setRightBarButtonItems([item2], animated: true)
settingsLauncher.delegate = self
setup()
glidingView.isHidden = true
......@@ -55,15 +59,22 @@ class HandmanViewController: UIViewController, UITableViewDataSource,
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.setNavigationBarHidden(false, animated: animated)
collectionView.reloadData()
collectionView.collectionViewLayout.invalidateLayout()
navigationController?.navigationBar.titleTextAttributes = [.foregroundColor:UIColor(red: 0 / 255, green: 0 / 255, blue: 0 / 255, alpha: 1.0)]
title = "Handyman"
let item1 = setBarButtom(str: "akar-icons_arrow-left")
self.navigationItem.setLeftBarButtonItems([item1], animated: true)
let item2 = setBarButtom(str: "gg_close")
self.navigationItem.setRightBarButtonItems([item2], animated: true)
self.navigationController?.navigationBar.topItem?.title = "Handyman"
self.navigationController?.navigationItem.title = "Handyman"
countPhotoHandyman = (dataStorage?.loadWorkerData(flagWorker:2))! as Int
if countPhotoHandyman > 0 {
images = dataStorage?.getImageArray(flag:2) as! [UIImage?]
if images.count > 0 {
glidingView.isHidden = false
addPhotoTopConstraint.constant = 109
collectionView.reloadData()
}
}
}
func setBarButtom(str:String)->UIBarButtonItem {
......@@ -74,12 +85,26 @@ class HandmanViewController: UIViewController, UITableViewDataSource,
let item1 = UIBarButtonItem(customView: btn1)
return item1
}
func setBarButtomClose(str:String)->UIBarButtonItem {
let btn1 = UIButton(type: .custom)
btn1.setImage(UIImage(named: str), for: .normal)
btn1.frame = CGRect(x: 0, y: 0, width: 60, height: 60)
btn1.addTarget(self, action: #selector(self.backToMain), for: .touchUpInside)
let item1 = UIBarButtonItem(customView: btn1)
return item1
}
@objc
func back() {
// navigationController?.popViewController( animated: true)
func backToMain() {
let firstVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Logo")
//navigationController?.popViewController( animated: true)
navigationController?.pushViewController(firstVC, animated: true)
// navigationController?.popToRootViewController(animated: true)
}
@objc
func back() {
navigationController?.popViewController( animated: true)
// let firstVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Logo")
// navigationController?.pushViewController(firstVC, animated: true)
}
@IBAction func pressAddPhoto(_ sender: Any) {
......@@ -87,7 +112,7 @@ class HandmanViewController: UIViewController, UITableViewDataSource,
else { return }
settingsLauncher.showSettings(navigVC: navVC,dispatcher:0)
glidingView.isHidden = false
addPhotoTopConstraint.constant = 102
addPhotoTopConstraint.constant = 108
}
@IBAction func BOOK_NOW_Click(_ sender: Any) {
......@@ -291,7 +316,12 @@ extension HandmanViewController:SettingsLauncherDelegate {
func settingsDelegateClick(img: UIImage?,selRow:Int,imgName:String?) {
if img != nil {
images.append(img!)
collectionView.reloadData()
if imgName != nil {
listImageGalery.append(imgName!)
dataStorage?.addListImageGalery(image: img!, imageName: imgName!, flagTypeGalery: 2)
}
}
else {
self.selRow = selRow
......
//
// LocsmithVCViewController.swift
// Em-call
//
// Created by Alex Sh on 22.04.2022.
//
import UIKit
class LocsmithVCViewController: UIViewController,UITableViewDataSource, UITableViewDelegate, UITextFieldDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate, UITextViewDelegate
{
let appDelegate = UIApplication.shared.delegate as? AppDelegate
var dataStorage:DataStorage? = nil
var settingsLauncher:SettingsLauncher = SettingsLauncher()
var listImageGalery:[String] = Array()
var selRow:Int = 0
let cellReuseIdentifier = "cell"
var address = "Unknow address"
var dateAndTime = "2022/02/23"
var contact = "+1 123 112 11 22"
var card = "**** **** **** 1234"
fileprivate var images: [UIImage?] = []
fileprivate var collectionView: UICollectionView!
@IBOutlet weak var glidingView: GlidingCollection!
@IBOutlet weak var addPhotoTopConstraint: NSLayoutConstraint!
@IBOutlet weak var tableview: UITableView!
@IBOutlet weak var textViewDesc: UITextView!
var countPhotoLocksmith = 0
override func viewDidLoad() {
super.viewDidLoad()
self.tableview.register(UITableViewCell.self, forCellReuseIdentifier: cellReuseIdentifier)
tableview.rowHeight = 65
// descTextView.delegate = self
tableview.delegate = self
tableview.dataSource = self
textViewDesc.delegate = self
settingsLauncher.delegate = self
let item1 = setBarButtom(str: "black_arrow-left")
self.navigationItem.setLeftBarButtonItems([item1], animated: true)
let item2 = setBarButtomClose(str: "gg_close")
self.navigationItem.setRightBarButtonItems([item2], animated: true)
//glide setup
setup()
glidingView.isHidden = true
dataStorage = appDelegate?.dataStorage
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.setNavigationBarHidden(false, animated: animated)
collectionView.reloadData()
collectionView.collectionViewLayout.invalidateLayout()
navigationController?.navigationBar.titleTextAttributes = [.foregroundColor:UIColor(red: 0 / 255, green: 0 / 255, blue: 0 / 255, alpha: 1.0)]
title = "Locksmith"
self.navigationController?.navigationBar.topItem?.title = "Locksmithn"
self.navigationController?.navigationItem.title = "Locksmith"
countPhotoLocksmith = (dataStorage?.loadWorkerData(flagWorker:3))! as Int
if countPhotoLocksmith > 0 {
images = dataStorage?.getImageArray(flag:3) as! [UIImage?]
if images.count > 0 {
glidingView.isHidden = false
addPhotoTopConstraint.constant = 109
collectionView.reloadData()
}
}
}
func setBarButtom(str:String)->UIBarButtonItem {
let btn1 = UIButton(type: .custom)
btn1.setImage(UIImage(named: str), for: .normal)
btn1.frame = CGRect(x: 0, y: 0, width: 60, height: 60)
btn1.addTarget(self, action: #selector(self.back), for: .touchUpInside)
let item1 = UIBarButtonItem(customView: btn1)
return item1
}
func setBarButtomClose(str:String)->UIBarButtonItem {
let btn1 = UIButton(type: .custom)
btn1.setImage(UIImage(named: str), for: .normal)
btn1.frame = CGRect(x: 0, y: 0, width: 60, height: 60)
btn1.addTarget(self, action: #selector(self.backToMain), for: .touchUpInside)
let item1 = UIBarButtonItem(customView: btn1)
return item1
}
@objc
func backToMain() {
let firstVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Logo")
//navigationController?.popViewController( animated: true)
navigationController?.pushViewController(firstVC, animated: true)
// navigationController?.popToRootViewController(animated: true)
}
@objc
func back() {
navigationController?.popViewController( animated: true)
//let firstVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Logo")
// navigationController?.pushViewController(firstVC, animated: true)
}
@IBAction func pressAddPhoto(_ sender: Any) {
guard let navVC = self.navigationController
else { return }
settingsLauncher.showSettings(navigVC: navVC,dispatcher:0)
glidingView.isHidden = false
addPhotoTopConstraint.constant = 102
}
@IBAction func pressBookNow(_ sender: Any) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc:UIViewController
vc = storyboard.instantiateViewController(withIdentifier: "BookingVK")
navigationController?.pushViewController(vc, animated: true)
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
textViewDesc.resignFirstResponder()
}
func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
// Создаём константу, именна через неё мы будем обращаться к свойствам и изменять их
let header = view as! UITableViewHeaderFooterView
// Установить цвет текста в label
header.textLabel?.textColor = .black
// Установить цвет фона для секции
header.tintColor = UIColor.white
// Установить шрифт и размер шрифта для label
// header.textLabel?.font = UIFont(name: "Helvetica-Regular", size: 15)
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func numberOfSections(in tableView: UITableView) -> Int {
return 4
}
func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
switch section {
case 0: return ("Work location")
case 1: return ("Date and Time")
case 2: return ("Your contacts")
case 3: return ("Payment")
default: return ("Work location")
} // return ("Work location")
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
// let cell = tableView.dequeueReusableCell(withIdentifier: cellReuseIdentifier, for: indexPath)
var cell:CustCellTableViewCell
let section = indexPath.section
switch section {
case 0:
cell = tableView.dequeueReusableCell(withIdentifier: "cust_cell") as! CustCellTableViewCell
cell.custCell.text = address
case 1:
cell = tableView.dequeueReusableCell(withIdentifier: "cust_cell") as! CustCellTableViewCell
cell.custCell.text = dateAndTime // cell.imageCell.isHidden = true
cell.imageCell?.image = UIImage(named: "uil_calendar-alt")
case 2:
cell = tableView.dequeueReusableCell(withIdentifier: "cust_cell2") as! CustCellTableViewCell
cell.custCell2?.text = contact
case 3:
cell = tableView.dequeueReusableCell(withIdentifier: "cust_cell") as! CustCellTableViewCell
cell.custCell?.text = card
cell.imageCell?.image = UIImage(named: "Vector")
default:
cell = tableView.dequeueReusableCell(withIdentifier: "cust_cell2") as! CustCellTableViewCell
cell.custCell2?.text = contact
}
cell.accessoryType = UITableViewCell.AccessoryType.disclosureIndicator
return cell
}
// method to run when table view cell is tapped
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let nameXibName = ["Map","Calendar"]
let section = indexPath.section
var vc:UIViewController
switch section //if indexPath.row == 0
{
case 0: vc = storyboard.instantiateViewController(withIdentifier: nameXibName[0])
(vc as! MapViewController).delegate = self
navigationController?.pushViewController(vc , animated: true)
return
case 1: vc = storyboard.instantiateViewController(withIdentifier: nameXibName[1])
(vc as! CalendarViewController).delegate = self
navigationController?.pushViewController(vc, animated: true)
return
case 2: vc = storyboard.instantiateViewController(withIdentifier: nameXibName[1])
(vc as! CalendarViewController).delegate = self
navigationController?.pushViewController(vc, animated: true)
case 3: vc = storyboard.instantiateViewController(withIdentifier: nameXibName[1])
(vc as! CalendarViewController).delegate = self
navigationController?.pushViewController(vc, animated: true)
default: return
}
}
}
extension LocsmithVCViewController:MapViewControllerDelegate {
func delegateClick(text:String) {
address = text
// NotificationCenter.default.post(name: NSNotification.Name(rawValue: "delegateClick"), object: nil)
tableview.reloadData()
}
}
extension LocsmithVCViewController:CalendarViewControllerDelegate {
func calendarDelegateClick(text:String,flagData:Int) {
switch flagData {
case 0:
dateAndTime = text
case 1:
contact = text
case 2:
card = text
default:
break
}
tableview.reloadData()
}
}
//
extension LocsmithVCViewController:SettingsLauncherDelegate {
func settingsDelegateClick(img: UIImage?,selRow:Int,imgName:String?) {
if img != nil {
images.append(img!)
collectionView.reloadData()
if imgName != nil {
listImageGalery.append(imgName!)
dataStorage?.addListImageGalery(image: img!, imageName: imgName!, flagTypeGalery: 3)
}
}
else {
self.selRow = selRow
}
}
}
// MARK: - Setup
extension LocsmithVCViewController {
func setup() {
setupGlidingCollectionView()
// loadImages()
}
private func setupGlidingCollectionView() {
glidingView.dataSource = self
let nib = UINib(nibName: "CollectionCell", bundle: nil)
collectionView = glidingView.collectionView
collectionView.register(nib, forCellWithReuseIdentifier: "Cell")
collectionView.delegate = self
collectionView.dataSource = self
collectionView.backgroundColor = glidingView.backgroundColor
}
}
// MARK: - CollectionView 🎛
extension LocsmithVCViewController: UICollectionViewDataSource, UICollectionViewDelegate {
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
// let section = glidingView.expandedItemIndex
return images.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
guard let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath) as? CollectionCell else { return UICollectionViewCell() }
////let section = glidingView.expandedItemIndex
if images.count>0 {
let image = images[indexPath.row]
// let image = images[0]
cell.imageView.image = image
}
cell.contentView.clipsToBounds = true
let layer = cell.layer
let config = GlidingConfig.shared
layer.shadowOffset = config.cardShadowOffset
layer.shadowColor = config.cardShadowColor.cgColor
layer.shadowOpacity = config.cardShadowOpacity
layer.shadowRadius = config.cardShadowRadius
layer.shouldRasterize = true
layer.rasterizationScale = UIScreen.main.scale
return cell
}
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let section = glidingView.expandedItemIndex
let item = indexPath.item
print("Selected item #\(item) in section #\(section)")
}
}
// MARK: - Gliding Collection 🎢
extension LocsmithVCViewController: GlidingCollectionDatasource {
func numberOfItems(in collection: GlidingCollection) -> Int {
// return items.count
return 0
}
func glidingCollection(_ collection: GlidingCollection, itemAtIndex index: Int) -> String {
// return "– " + items[index]
return "– "
}
}
......@@ -16,30 +16,65 @@ class MainVCViewController: SOTabBarController {
print(viewController.tabBarItem.title ?? "")
}*/
var firstVC:UIViewController = UIViewController()
var secondVC:UIViewController = UIViewController()
var thrVC :UIViewController = UIViewController()
var foVC:UIViewController = UIViewController()
var firstVC:UIViewController? = nil //UIViewController()
var secondVC:UIViewController? = nil //UIViewController()
var thrVC :UIViewController? = nil //UIViewController()
var foVC:UIViewController? = nil //UIViewController()
override func viewDidLoad() {
super.viewDidLoad()
self.delegate = self
firstVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Logo")
firstVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Logo")
secondVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "BookingVK")
thrVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Chat")
foVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "ProfileVC")
foVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "ProfileVC")
firstVC.tabBarItem = UITabBarItem(title: "Home", image: UIImage(named: "Home_white1"), selectedImage: UIImage(named: "Home_black"))
secondVC.tabBarItem = UITabBarItem(title: "BookingVK", image: UIImage(named: "Bookings_white"), selectedImage: UIImage(named: "Bookings_black"))
firstVC!.tabBarItem = UITabBarItem(title: "Home", image: UIImage(named: "Home_white1"), selectedImage: UIImage(named: "Home_black"))
secondVC!.tabBarItem = UITabBarItem(title: "BookingVK", image: UIImage(named: "Bookings_white"), selectedImage: UIImage(named: "Bookings_black"))
// thrVC.tabBarItem = UITabBarItem(title: "Chat", image: UIImage(named: "firstImage"), selectedImage: UIImage(named: "firstSelectedImage"))
thrVC.tabBarItem = UITabBarItem(title: "Chat", image: UIImage(named: "Chat_white"), selectedImage: UIImage(named: "Chat_black"))
foVC.tabBarItem = UITabBarItem(title: "Profile", image: UIImage(named: "profile_white2"), selectedImage: UIImage(named: "Profile_black2"))
thrVC!.tabBarItem = UITabBarItem(title: "Chat", image: UIImage(named: "Chat_white"), selectedImage: UIImage(named: "Chat_black"))
foVC!.tabBarItem = UITabBarItem(title: "Profile", image: UIImage(named: "profile_white2"), selectedImage: UIImage(named: "Profile_black2"))
viewControllers = [firstVC, secondVC,thrVC,foVC]
self.viewControllers = [firstVC!, secondVC!,thrVC!,foVC!]
}
func initSecond() {
super.viewDidLoad()
self.delegate = self
/* firstVC.tabBarItem = nil
secondVC.tabBarItem = nil
thrVC.tabBarItem = nil
foVC.tabBarItem = nil
firstVC = nil
secondVC = nil*/
if firstVC == nil {
firstVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Logo")
}
if secondVC == nil {
secondVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "BookingVK")
}
if thrVC == nil {
thrVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Chat")
}
if foVC == nil {
foVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "ProfileVC")
}
/*
firstVC!.tabBarItem = UITabBarItem(title: "Home", image: UIImage(named: "Home_white1"), selectedImage: UIImage(named: "Home_black"))
secondVC!.tabBarItem = UITabBarItem(title: "BookingVK", image: UIImage(named: "Bookings_white"), selectedImage: UIImage(named: "Bookings_black"))
thrVC!.tabBarItem = UITabBarItem(title: "Chat", image: UIImage(named: "Chat_white"), selectedImage: UIImage(named: "Chat_black"))
foVC!.tabBarItem = UITabBarItem(title: "Profile", image: UIImage(named: "profile_white2"), selectedImage: UIImage(named: "Profile_black2"))
*/
if viewControllers == nil {
viewControllers = [firstVC!, secondVC!,thrVC!,foVC!]
}
}
func soTabBar(_ tabBar: SOTabBar, didSelectTabAt index: Int) {
print("did Tapped On \(index)")
}
override func loadView() {
super.loadView()
// SOTabBarSetting.propertyToCustomize = value
......
......@@ -109,14 +109,22 @@ class MainViewController: UIViewController, UITextFieldDelegate, MKMapViewDelega
}
@IBAction func pressElectric(_ sender: Any) {
//let storyboard = UIStoryboard(name: "Main", bundle: nil)
// var vc:UINavigationController
// let tabBar = storyboard.instantiateViewController(withIdentifier: "TabBar")
//let vc = storyboard.instantiateViewController(withIdentifier: "Electric") as! ElectricTableViewController
let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "NaviElectric") as! UINavigationController
// vc = UINavigationController.init(rootViewController: tabBar)
//// vc.pushViewController(tabBar, animated: true)
navigationController?.present(vc, animated: true, completion: nil)
// let storyboard = UIStoryboard(name: "Main", bundle: nil)
// var vc:UINavigationController
// let tabBar = storyboard.instantiateViewController(withIdentifier: "TabBar")
// let vc = storyboard.instantiateViewController(withIdentifier: "Electric") as! ElectricTableViewController
/* let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "NaviElectric") as! UINavigationController
// vc = UINavigationController.init(rootViewController: tabBar)
//// vc.pushViewController(tabBar, animated: true)
navigationController?.present(vc, animated: true, completion: nil)*/
// self.navigationController?.pushViewController(vc, animated: true)
// navigationController?.pushViewController(vc, animated: true)
/* if let newViewController = storyboard.instantiateViewController(withIdentifier: "NaviElectric") as? UINavigationController {
UINavigationController.modalTransitionStyle = .crossDissolve // это значение можно менять для разных видов анимации появления
// ElectricTableViewController.modalPresentationStyle = .overCurrentContext // это та самая волшебная строка, убрав или закомментировав ее, вы получите появление смахиваемого контроллера
// ElectricTableViewController.transitionStyle = .crossDissolve
present(newViewController, animated: false, completion: nil)
}*/
}
override func viewDidLoad() {
......@@ -200,6 +208,7 @@ class MainViewController: UIViewController, UITextFieldDelegate, MKMapViewDelega
self.navigationController?.navigationBar.topItem?.title = "LOGO"
self.navigationController?.navigationItem.title = "LOGO"*/
// self.view.removeFromSuperview()
buttonDoIt.isHidden = false
self.navigationController?.setNavigationBarHidden(true, animated: animated)
}
......@@ -233,24 +242,22 @@ class MainViewController: UIViewController, UITextFieldDelegate, MKMapViewDelega
}
func addBottomSheetView() {
// 1- Init bottomSheetVC
buttonDoIt.isHidden = true
// 1- Init bottomSheetVC
bottomSheetVC = SmallListWorkVC()
// mapView.isHidden = true
// bottomView.isHidden = true
// 2- Add bottomSheetVC as a child view
// mapView.isHidden = true
// bottomView.isHidden = true
// 2- Add bottomSheetVC as a child view
if bottomSheetVC != nil {
self.addChild(bottomSheetVC!)
self.view.addSubview(bottomSheetVC!.view)
bottomSheetVC!.didMove(toParent: self)
// 3- Adjust bottomSheet frame and initial position.
// 3- Adjust bottomSheet frame and initial position.
let height = view.frame.height
let width = view.frame.width
bottomSheetVC!.view.frame = CGRect(x: 0, y: self.view.frame.maxY, width: width, height: height)
}
// bottomSheetVC.view.frame = CGRect(x: 0, y: 0, width: width, height: height)
// bottomSheetVC.view.frame = CGRect(x: 0, y: 0, width: width, height: height)
}
func navigationController(_ navigationController: UINavigationController, willShow viewController: UIViewController, animated: Bool) {
......
......@@ -55,18 +55,56 @@ class MapViewController: UIViewController, MKMapViewDelegate {
indexNameImageIconMap = 0 }
mapView.addAnnotation(annotations)
}
let item1 = setBarButtom(str: "black_arrow-left")
self.navigationItem.setLeftBarButtonItems([item1], animated: true)
let item2 = setBarButtomClose(str: "gg_close")
self.navigationItem.setRightBarButtonItems([item2], animated: true)
}
override func viewDidAppear(_ animated:Bool) {
super.viewDidAppear(animated)
override func viewWillAppear(_ animated:Bool) {
super.viewWillAppear(animated)
locationManager.checkLocationEnable()
navigationController?.navigationBar.titleTextAttributes = [.foregroundColor:UIColor(red: 0 / 255, green: 0 / 255, blue: 0 / 255, alpha: 1.0)]
self.navigationController?.navigationItem.hidesBackButton = true
navigationController?.navigationBar.titleTextAttributes =
[.foregroundColor:UIColor(red: 0 / 255, green: 0 / 255, blue: 0 / 255, alpha: 1.0)]
title = "Work location"
self.navigationController?.navigationBar.topItem?.title = "Work location"
self.navigationController?.navigationItem.title = "Work location"
self.navigationController?.setNavigationBarHidden(false, animated: animated)
}
func setBarButtom(str:String)->UIBarButtonItem {
let btn1 = UIButton(type: .custom)
btn1.setImage(UIImage(named: str), for: .normal)
btn1.frame = CGRect(x: 0, y: 0, width: 60, height: 60)
btn1.addTarget(self, action: #selector(self.back), for: .touchUpInside)
let item1 = UIBarButtonItem(customView: btn1)
return item1
}
func setBarButtomClose(str:String)->UIBarButtonItem {
let btn1 = UIButton(type: .custom)
btn1.setImage(UIImage(named: str), for: .normal)
btn1.frame = CGRect(x: 0, y: 0, width: 60, height: 60)
btn1.addTarget(self, action: #selector(self.backToMain), for: .touchUpInside)
let item1 = UIBarButtonItem(customView: btn1)
return item1
}
@objc
func backToMain() {
let firstVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Logo")
//navigationController?.popViewController( animated: true)
navigationController?.pushViewController(firstVC, animated: true)
// navigationController?.popToRootViewController(animated: true)
}
@objc
func back() {
self.navigationController?.setNavigationBarHidden(true, animated: false)
navigationController?.popViewController( animated: true)
//let firstVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Logo")
// navigationController?.pushViewController(firstVC, animated: true)
}
@IBAction func longPress(_ sender: Any) {
let pressPoint = (sender as AnyObject).location(in:mapView)
// let pressCoordinate = mapView.convert(pressPoint, to: mapView)
......
......@@ -22,6 +22,7 @@ class PlumViewController: UIViewController, UITableViewDataSource,
@IBOutlet weak var addressView: UIView!
@IBAction func pressButtonAddress(_ sender: Any) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "Map")
......@@ -42,18 +43,20 @@ class PlumViewController: UIViewController, UITableViewDataSource,
tableView.delegate = self
tableView.dataSource = self // buttonBookNow.becomeFirstResponder();
let item1 = setBarButtom(str: "black_arrow-left")
self.navigationItem.setLeftBarButtonItems([item1], animated: true)
let item2 = setBarButtomClose(str: "gg_close")
self.navigationItem.setRightBarButtonItems([item2], animated: true)
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.setNavigationBarHidden(false, animated: animated)
title = "Emergency plumbers"
navigationController?.navigationBar.titleTextAttributes = [.foregroundColor:UIColor(red: 255 / 255, green: 94 / 255, blue: 58 / 255, alpha: 1.0)]
let item1 = setBarButtom(str: "akar-icons_arrow-left")
self.navigationItem.setLeftBarButtonItems([item1], animated: true)
let item2 = setBarButtom(str: "gg_close")
self.navigationItem.setRightBarButtonItems([item2], animated: true)
}
func setBarButtom(str:String)->UIBarButtonItem {
......@@ -64,7 +67,25 @@ class PlumViewController: UIViewController, UITableViewDataSource,
let item1 = UIBarButtonItem(customView: btn1)
return item1
}
func setBarButtomClose(str:String)->UIBarButtonItem {
let btn1 = UIButton(type: .custom)
btn1.setImage(UIImage(named: str), for: .normal)
btn1.frame = CGRect(x: 0, y: 0, width: 60, height: 60)
btn1.addTarget(self, action: #selector(self.backToMain), for: .touchUpInside)
let item1 = UIBarButtonItem(customView: btn1)
return item1
}
@objc
func backToMain() {
let firstVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Logo")
//navigationController?.popViewController( animated: true)
navigationController?.pushViewController(firstVC, animated: true)
// navigationController?.popToRootViewController(animated: true)
}
@objc
func back() { //// self.dismiss(animated: true, completion: nil)
navigationController?.popViewController( animated: true)
}
@IBAction func pressBookNow(_ sender: Any) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc:UIViewController
......@@ -76,10 +97,7 @@ class PlumViewController: UIViewController, UITableViewDataSource,
navigationController?.pushViewController(vc, animated: true)
}
@objc
func back() { //// self.dismiss(animated: true, completion: nil)
navigationController?.popViewController( animated: true)
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
......@@ -89,7 +107,7 @@ class PlumViewController: UIViewController, UITableViewDataSource,
return 1
}
func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
switch section {
case 0: return ("Payment")
// case 1: return ("Date and Time") // case 2: return ("Your contacts") // case 3: return ("Payment")
......
......@@ -32,7 +32,7 @@ class PlumbersViewController: UIViewController,UITableViewDataSource, UITableVie
@IBOutlet weak var tableview: UITableView!
@IBOutlet weak var textViewDesc: UITextView!
var countPhotoPlumber = 0
override func viewDidLoad() {
super.viewDidLoad()
......@@ -44,6 +44,10 @@ class PlumbersViewController: UIViewController,UITableViewDataSource, UITableVie
tableview.dataSource = self
textViewDesc.delegate = self
settingsLauncher.delegate = self
let item1 = setBarButtom(str: "black_arrow-left")
self.navigationItem.setLeftBarButtonItems([item1], animated: true)
let item2 = setBarButtomClose(str: "gg_close")
self.navigationItem.setRightBarButtonItems([item2], animated: true)
//glide setup
setup()
glidingView.isHidden = true
......@@ -52,16 +56,23 @@ class PlumbersViewController: UIViewController,UITableViewDataSource, UITableVie
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.setNavigationBarHidden(false, animated: animated)
collectionView.reloadData()
collectionView.collectionViewLayout.invalidateLayout()
navigationController?.navigationBar.titleTextAttributes = [.foregroundColor:UIColor(red: 0 / 255, green: 0 / 255, blue: 0 / 255, alpha: 1.0)]
title = "Plumber"
let item1 = setBarButtom(str: "akar-icons_arrow-left")
self.navigationItem.setLeftBarButtonItems([item1], animated: true)
let item2 = setBarButtom(str: "gg_close")
self.navigationItem.setRightBarButtonItems([item2], animated: true)
}
self.navigationController?.navigationBar.topItem?.title = "Plumber"
self.navigationController?.navigationItem.title = "Plumber"
countPhotoPlumber = (dataStorage?.loadWorkerData(flagWorker:1))! as Int
if countPhotoPlumber > 0 {
images = dataStorage?.getImageArray(flag:1) as! [UIImage?]
if images.count > 0 {
glidingView.isHidden = false
addPhotoTopConstraint.constant = 109
collectionView.reloadData()
}
}
}
func setBarButtom(str:String)->UIBarButtonItem {
let btn1 = UIButton(type: .custom)
......@@ -71,14 +82,27 @@ class PlumbersViewController: UIViewController,UITableViewDataSource, UITableVie
let item1 = UIBarButtonItem(customView: btn1)
return item1
}
func setBarButtomClose(str:String)->UIBarButtonItem {
let btn1 = UIButton(type: .custom)
btn1.setImage(UIImage(named: str), for: .normal)
btn1.frame = CGRect(x: 0, y: 0, width: 60, height: 60)
btn1.addTarget(self, action: #selector(self.backToMain), for: .touchUpInside)
let item1 = UIBarButtonItem(customView: btn1)
return item1
}
@objc
func back() {
//navigationController?.popViewController( animated: true)
navigationController?.popViewController( animated: true)
//let firstVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Logo")
// navigationController?.pushViewController(firstVC, animated: true)
}
@objc
func backToMain() {
let firstVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Logo")
//navigationController?.popViewController( animated: true)
navigationController?.pushViewController(firstVC, animated: true)
// navigationController?.popToRootViewController(animated: true)
}
@IBAction func pressAddPhoto(_ sender: Any) {
guard let navVC = self.navigationController
......@@ -92,11 +116,11 @@ class PlumbersViewController: UIViewController,UITableViewDataSource, UITableVie
@IBAction func BOOK_NOW_Click(_ sender: Any) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc:UIViewController
if #available(iOS 13.0, *) {
vc = storyboard.instantiateViewController(identifier: "BookingVK") as! VKBookingViewController
} else {
// if #available(iOS 13.0, *) {
// vc = storyboard.instantiateViewController(identifier: "BookingVK") as! VKBookingViewController
// } else {
vc = storyboard.instantiateViewController(withIdentifier: "BookingVK")
}
// }
navigationController?.pushViewController(vc, animated: true)
}
......@@ -104,6 +128,17 @@ class PlumbersViewController: UIViewController,UITableViewDataSource, UITableVie
textViewDesc.resignFirstResponder()
}
func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
// Создаём константу, именна через неё мы будем обращаться к свойствам и изменять их
let header = view as! UITableViewHeaderFooterView
// Установить цвет текста в label
header.textLabel?.textColor = .black
// Установить цвет фона для секции
header.tintColor = UIColor.white
// Установить шрифт и размер шрифта для label
// header.textLabel?.font = UIFont(name: "Helvetica-Regular", size: 15)
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
......@@ -149,7 +184,7 @@ class PlumbersViewController: UIViewController,UITableViewDataSource, UITableVie
return cell
}
// method to run when table view cell is tapped
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let nameXibName = ["Map","Calendar"]
let section = indexPath.section
......@@ -203,15 +238,16 @@ extension PlumbersViewController:SettingsLauncherDelegate {
func settingsDelegateClick(img: UIImage?,selRow:Int,imgName:String?) {
if img != nil {
images.append(img!)
collectionView.reloadData()
if imgName != nil {
listImageGalery.append(imgName!)
dataStorage?.addListImageGalery(image: img!, imageName: imgName!, flagTypeGalery: 1)
}
}
else {
self.selRow = selRow
}
}
}
......
//
// StartNavigationVCViewController.swift
// Em-call
//
// Created by Alex Sh on 10.03.2022.
//
import UIKit
class StartNavigationVCViewController: UINavigationController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Get the new view controller using segue.destination.
// Pass the selected object to the new view controller.
}
*/
}
......@@ -31,17 +31,22 @@ class StartViewController: UIViewController {
return
} else {
//debug
let storyboard = UIStoryboard(name: "Main", bundle: nil)
// var vc:UIViewController
// var vc:UINavigationController
// let tabBar = storyboard.instantiateViewController(withIdentifier: "TabBar")
let vc = storyboard.instantiateViewController(withIdentifier: "MainVC") as! MainVCViewController
// vc = storyboard.instantiateViewController(withIdentifier: "NaviMainVC") as! UINavigationController
// vc = UINavigationController.init(rootViewController: tabBar)
// let storyboard = UIStoryboard(name: "Main", bundle: nil)
// var vc:UIViewController
// var vc:UINavigationController
// let tabBar = storyboard.instantiateViewController(withIdentifier: "TabBar")
// let vc = storyboard.instantiateViewController(withIdentifier: "MainVC") as! MainVCViewController
// vc = storyboard.instantiateViewController(withIdentifier: "NaviMainVC") as! UINavigationController
// vc = UINavigationController.init(rootViewController: tabBar)
//// vc.pushViewController(tabBar, animated: true)
// self.present(vc, animated: true)
// self.present(vc, animated: true)
//// self.present(tabBar, animated: true)
navigationController?.pushViewController(vc, animated: true)
// navigationController?.pushViewController(vc, animated: true)
let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "NaviMainVC") as! UINavigationController
// vc = UINavigationController.init(rootViewController: tabBar)
//// vc.pushViewController(tabBar, animated: true)
navigationController?.present(vc, animated: true, completion: nil)
}
/*
let status = net.reqPostEnter(phone: number,code: psw)
......
......@@ -34,29 +34,29 @@ class VKBookingViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.title = "BOOKING"
// self.navigationItem.title = "BOOKING"
segmentControl.addTarget(self, action: #selector(segmentAction(_:)), for: .valueChanged)
viewBut.isHidden = true
butCost.isHidden = true
butPrice.isHidden = true
viewTop.isHidden = false
let item1 = setBarButtom(str: "black_arrow-left")
self.navigationItem.setLeftBarButtonItems([item1], animated: true)
let item2 = setBarButtomClose(str: "gg_close")
self.navigationItem.setRightBarButtonItems([item2], animated: true)
hideKeyboardWhenTappedAround()
}
override func viewWillAppear(_ animated: Bool) {
self.navigationController?.setNavigationBarHidden(false, animated: animated)
self.navigationController?.navigationItem.hidesBackButton = true
//navigationItem.hidesBackButton = true
self.navigationController?.navigationBar.topItem?.title = "BOOKING"
self.navigationController?.navigationItem.title = "BOOKING"
title = "BOOKING"
self.navigationController?.navigationBar.titleTextAttributes = [.foregroundColor : UIColor.black]
self.navigationController?.navigationBar.barTintColor = UIColor.white
let item1 = setBarButtom(str: "akar-icons_arrow-left")
self.navigationItem.setLeftBarButtonItems([item1], animated: true)
let item2 = setBarButtom(str: "gg_close")
self.navigationItem.setRightBarButtonItems([item2], animated: true)
self.navigationController?.setNavigationBarHidden(false, animated: animated)
}
func setBarButtom(str:String)->UIBarButtonItem {
......@@ -67,8 +67,25 @@ class VKBookingViewController: UIViewController {
let item1 = UIBarButtonItem(customView: btn1)
return item1
}
func setBarButtomClose(str:String)->UIBarButtonItem {
let btn1 = UIButton(type: .custom)
btn1.setImage(UIImage(named: str), for: .normal)
btn1.frame = CGRect(x: 0, y: 0, width: 60, height: 60)
btn1.addTarget(self, action: #selector(self.backToMain), for: .touchUpInside)
let item1 = UIBarButtonItem(customView: btn1)
return item1
}
@objc
func backToMain() {
let firstVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Logo")
//navigationController?.popViewController( animated: true)
navigationController?.pushViewController(firstVC, animated: true)
// navigationController?.popToRootViewController(animated: true)
}
@objc
func back() {
self.navigationController?.setNavigationBarHidden(true, animated: false)
navigationController?.popViewController( animated: true)
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment