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
}
}
This diff is collapsed.
......@@ -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