diff --git a/NADA-iOS-forRelease.xcodeproj/project.pbxproj b/NADA-iOS-forRelease.xcodeproj/project.pbxproj index 61d7ba6a..7639e4f8 100644 --- a/NADA-iOS-forRelease.xcodeproj/project.pbxproj +++ b/NADA-iOS-forRelease.xcodeproj/project.pbxproj @@ -102,6 +102,7 @@ 77AA68EA273E0EC4009C89B0 /* CardAddInGroupRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77AA68E9273E0EC4009C89B0 /* CardAddInGroupRequest.swift */; }; 77B4E7482990E420006098DC /* Home.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 77B4E7472990E420006098DC /* Home.storyboard */; }; 77B4E74B2990E50E006098DC /* HomeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77B4E74A2990E50E006098DC /* HomeViewController.swift */; }; + 77BFDFEF29E57A3600663D6E /* ReceiveCardBottomSheetViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77BFDFEE29E57A3600663D6E /* ReceiveCardBottomSheetViewController.swift */; }; 77C6E350299B84E300E059F9 /* HomeViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77C6E34F299B84E300E059F9 /* HomeViewModel.swift */; }; 77DFB871274F92F9000CD36F /* AddWithIdBottomSheetViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77DFB870274F92F9000CD36F /* AddWithIdBottomSheetViewController.swift */; }; 77F2C0EB27632A91007641E3 /* CardHarmonyViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77F2C0EA27632A91007641E3 /* CardHarmonyViewController.swift */; }; @@ -338,6 +339,7 @@ 77B4E7442990E021006098DC /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; 77B4E7472990E420006098DC /* Home.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Home.storyboard; sourceTree = ""; }; 77B4E74A2990E50E006098DC /* HomeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewController.swift; sourceTree = ""; }; + 77BFDFEE29E57A3600663D6E /* ReceiveCardBottomSheetViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReceiveCardBottomSheetViewController.swift; sourceTree = ""; }; 77C6E34F299B84E300E059F9 /* HomeViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewModel.swift; sourceTree = ""; }; 77DFB870274F92F9000CD36F /* AddWithIdBottomSheetViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddWithIdBottomSheetViewController.swift; sourceTree = ""; }; 77F2C0EA27632A91007641E3 /* CardHarmonyViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardHarmonyViewController.swift; sourceTree = ""; }; @@ -679,6 +681,7 @@ F8915A21275728F20013D609 /* SelectMBTIBottomViewController.swift */, 7734D5A927719520004360E4 /* CardShareBottomSheetViewController.swift */, F8268DB827730B0100BF114B /* FirstCardAlertBottomSheetViewController.swift */, + 77BFDFEE29E57A3600663D6E /* ReceiveCardBottomSheetViewController.swift */, ); path = BottomSheet; sourceTree = ""; @@ -1719,6 +1722,7 @@ F8F00C3E29DD489200A15377 /* UpdateAPI.swift in Sources */, F8FC43B826C0227D0033E151 /* Const.swift in Sources */, 394F314C27081B3A00C83291 /* FrontViewController.swift in Sources */, + 77BFDFEF29E57A3600663D6E /* ReceiveCardBottomSheetViewController.swift in Sources */, 777FF89D2735B16B00BF69D3 /* GroupAddRequest.swift in Sources */, 7734D5AA27719520004360E4 /* CardShareBottomSheetViewController.swift in Sources */, 77A4D5F429AE291F00367B7C /* CustomNavigationBar.swift in Sources */, diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/iconRefreshLocation.imageset/Contents.json b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/iconRefreshLocation.imageset/Contents.json index 3ab459f0..e577a00b 100644 --- a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/iconRefreshLocation.imageset/Contents.json +++ b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/iconRefreshLocation.imageset/Contents.json @@ -1,23 +1,56 @@ { "images" : [ { - "idiom" : "universal", "filename" : "iconRefreshLocation.png", + "idiom" : "universal", "scale" : "1x" }, { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "icn_cached_dark.png", "idiom" : "universal", + "scale" : "1x" + }, + { "filename" : "iconRefreshLocation@2x.png", + "idiom" : "universal", "scale" : "2x" }, { - "scale" : "3x", + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "icn_cached_dark@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "iconRefreshLocation@3x.png", + "idiom" : "universal", + "scale" : "3x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "icn_cached_dark@3x.png", "idiom" : "universal", - "filename" : "iconRefreshLocation@3x.png" + "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/iconRefreshLocation.imageset/icn_cached_dark.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/iconRefreshLocation.imageset/icn_cached_dark.png new file mode 100644 index 00000000..b706d250 Binary files /dev/null and b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/iconRefreshLocation.imageset/icn_cached_dark.png differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/iconRefreshLocation.imageset/icn_cached_dark@2x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/iconRefreshLocation.imageset/icn_cached_dark@2x.png new file mode 100644 index 00000000..0959d758 Binary files /dev/null and b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/iconRefreshLocation.imageset/icn_cached_dark@2x.png differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/iconRefreshLocation.imageset/icn_cached_dark@3x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/iconRefreshLocation.imageset/icn_cached_dark@3x.png new file mode 100644 index 00000000..06dc50e5 Binary files /dev/null and b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/iconRefreshLocation.imageset/icn_cached_dark@3x.png differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgNearby.imageset/Contents.json b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgNearby.imageset/Contents.json new file mode 100644 index 00000000..740c3fb5 --- /dev/null +++ b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgNearby.imageset/Contents.json @@ -0,0 +1,56 @@ +{ + "images" : [ + { + "filename" : "imgNearby.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "img_nearby_dark.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "imgNearby@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "img_nearby_dark@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "imgNearby@3x.png", + "idiom" : "universal", + "scale" : "3x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "img_nearby_dark@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgNearby.imageset/imgNearby.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgNearby.imageset/imgNearby.png new file mode 100644 index 00000000..86e6a9a8 Binary files /dev/null and b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgNearby.imageset/imgNearby.png differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgNearby.imageset/imgNearby@2x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgNearby.imageset/imgNearby@2x.png new file mode 100644 index 00000000..5b1dc6a6 Binary files /dev/null and b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgNearby.imageset/imgNearby@2x.png differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgNearby.imageset/imgNearby@3x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgNearby.imageset/imgNearby@3x.png new file mode 100644 index 00000000..bf10d8c5 Binary files /dev/null and b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgNearby.imageset/imgNearby@3x.png differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgNearby.imageset/img_nearby_dark.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgNearby.imageset/img_nearby_dark.png new file mode 100644 index 00000000..406924df Binary files /dev/null and b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgNearby.imageset/img_nearby_dark.png differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgNearby.imageset/img_nearby_dark@2x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgNearby.imageset/img_nearby_dark@2x.png new file mode 100644 index 00000000..35b4b7f5 Binary files /dev/null and b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgNearby.imageset/img_nearby_dark@2x.png differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgNearby.imageset/img_nearby_dark@3x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgNearby.imageset/img_nearby_dark@3x.png new file mode 100644 index 00000000..4ee3c4bb Binary files /dev/null and b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgNearby.imageset/img_nearby_dark@3x.png differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgRecieve.imageset/Contents.json b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgRecieve.imageset/Contents.json new file mode 100644 index 00000000..0acb5abb --- /dev/null +++ b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgRecieve.imageset/Contents.json @@ -0,0 +1,56 @@ +{ + "images" : [ + { + "filename" : "imgRecieve.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "img_recieve_dark.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "imgRecieve@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "img_recieve_dark@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "imgRecieve@3x.png", + "idiom" : "universal", + "scale" : "3x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "img_recieve_dark@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgRecieve.imageset/imgRecieve.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgRecieve.imageset/imgRecieve.png new file mode 100644 index 00000000..850cae16 Binary files /dev/null and b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgRecieve.imageset/imgRecieve.png differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgRecieve.imageset/imgRecieve@2x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgRecieve.imageset/imgRecieve@2x.png new file mode 100644 index 00000000..7085cd43 Binary files /dev/null and b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgRecieve.imageset/imgRecieve@2x.png differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgRecieve.imageset/imgRecieve@3x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgRecieve.imageset/imgRecieve@3x.png new file mode 100644 index 00000000..fda3979b Binary files /dev/null and b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgRecieve.imageset/imgRecieve@3x.png differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgRecieve.imageset/img_recieve_dark.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgRecieve.imageset/img_recieve_dark.png new file mode 100644 index 00000000..fb119c1d Binary files /dev/null and b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgRecieve.imageset/img_recieve_dark.png differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgRecieve.imageset/img_recieve_dark@2x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgRecieve.imageset/img_recieve_dark@2x.png new file mode 100644 index 00000000..2d6b1275 Binary files /dev/null and b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgRecieve.imageset/img_recieve_dark@2x.png differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgRecieve.imageset/img_recieve_dark@3x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgRecieve.imageset/img_recieve_dark@3x.png new file mode 100644 index 00000000..388b6acc Binary files /dev/null and b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgRecieve.imageset/img_recieve_dark@3x.png differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgSend.imageset/Contents.json b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgSend.imageset/Contents.json new file mode 100644 index 00000000..1112c584 --- /dev/null +++ b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgSend.imageset/Contents.json @@ -0,0 +1,56 @@ +{ + "images" : [ + { + "filename" : "imgSend.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "img_send_dark.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "imgSend@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "img_send_dark@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "imgSend@3x.png", + "idiom" : "universal", + "scale" : "3x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "img_send_dark@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgSend.imageset/imgSend.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgSend.imageset/imgSend.png new file mode 100644 index 00000000..eaaa841d Binary files /dev/null and b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgSend.imageset/imgSend.png differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgSend.imageset/imgSend@2x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgSend.imageset/imgSend@2x.png new file mode 100644 index 00000000..790b3b36 Binary files /dev/null and b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgSend.imageset/imgSend@2x.png differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgSend.imageset/imgSend@3x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgSend.imageset/imgSend@3x.png new file mode 100644 index 00000000..6a9cfec4 Binary files /dev/null and b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgSend.imageset/imgSend@3x.png differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgSend.imageset/img_send_dark.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgSend.imageset/img_send_dark.png new file mode 100644 index 00000000..0e71baa7 Binary files /dev/null and b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgSend.imageset/img_send_dark.png differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgSend.imageset/img_send_dark@2x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgSend.imageset/img_send_dark@2x.png new file mode 100644 index 00000000..8918f7dd Binary files /dev/null and b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgSend.imageset/img_send_dark@2x.png differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgSend.imageset/img_send_dark@3x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgSend.imageset/img_send_dark@3x.png new file mode 100644 index 00000000..4462464b Binary files /dev/null and b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/imgSend.imageset/img_send_dark@3x.png differ diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/AroundMe/VC/AroundMeViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/AroundMe/VC/AroundMeViewController.swift index 2bfd9871..4518f615 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/AroundMe/VC/AroundMeViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/AroundMe/VC/AroundMeViewController.swift @@ -22,7 +22,9 @@ final class AroundMeViewController: UIViewController { // MARK: - UI Components - private let navigationBar = CustomNavigationBar() + private let navigationBar = CustomNavigationBar().then { + $0.backgroundColor = .background + } private let emptyTitleLabel = UILabel().then { $0.text = "아직 근처에 명함이 없어요." $0.font = .textBold02 @@ -47,7 +49,7 @@ final class AroundMeViewController: UIViewController { private lazy var aroundMeCollectionView = UICollectionView(frame: .zero, collectionViewLayout: aroundMeCollectionViewFlowLayout).then { $0.showsHorizontalScrollIndicator = false $0.clipsToBounds = false -// $0.backgroundColor = .blue + $0.backgroundColor = .background } // MARK: - View Life Cycles @@ -68,7 +70,7 @@ extension AroundMeViewController { // MARK: - UI & Layout private func setUI() { - self.view.backgroundColor = .white + self.view.backgroundColor = .background self.navigationController?.navigationBar.isHidden = true navigationBar.setUI("내 근처의 명함", leftImage: UIImage(named: "iconClear"), rightImage: UIImage(named: "iconRefreshLocation")) navigationBar.leftButtonAction = { diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/BottomSheet/ReceiveCardBottomSheetViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/BottomSheet/ReceiveCardBottomSheetViewController.swift new file mode 100644 index 00000000..ef100e42 --- /dev/null +++ b/NADA-iOS-forRelease/Sources/ViewControllers/BottomSheet/ReceiveCardBottomSheetViewController.swift @@ -0,0 +1,120 @@ +// +// ReceiveCardBottomSheetViewController.swift +// NADA-iOS-forRelease +// +// Created by Yi Joon Choi on 2023/04/11. +// + +import Photos +import UIKit + +import RxSwift +import RxRelay +import RxCocoa +import RxGesture +import SnapKit +import Then + +class ReceiveCardBottomSheetViewController: CommonBottomSheetViewController { + + // MARK: - Properties + + private var moduleFactory = ModuleFactory.shared + private let disposeBag = DisposeBag() + + // MARK: - UI Components + + private let byIdButton = UIButton().then { + $0.backgroundColor = .button + $0.setTitleColor(UIColor.tertiary, for: .normal) + $0.setTitle("ID로 받기", for: .normal) + $0.titleLabel?.font = .button01 + $0.layer.cornerRadius = 15 + } + + private let byQRButton = UIButton().then { + $0.backgroundColor = .button + $0.setTitleColor(UIColor.tertiary, for: .normal) + $0.setTitle("QR로 받기", for: .normal) + $0.titleLabel?.font = .button01 + $0.layer.cornerRadius = 15 + } + + private var stackview = UIStackView().then { + $0.spacing = 12 + $0.distribution = .fillEqually + $0.axis = .vertical + } + + // MARK: - View Life Cycles + + override func viewDidLoad() { + super.viewDidLoad() + setLayout() + bindActions() + } + +} + +extension ReceiveCardBottomSheetViewController { + + // MARK: - UI & Layout + + private func setLayout() { + view.addSubview(stackview) + stackview.addArrangedSubviews([byIdButton, byQRButton]) + stackview.snp.makeConstraints { make in + make.centerX.equalToSuperview() + make.top.equalTo(titleLabel.snp.bottom).offset(40) + make.leading.equalToSuperview().inset(24) + make.bottom.equalToSuperview().offset(-54) + } + } + + // MARK: - Methods + + private func bindActions() { + byIdButton.rx.tap + .withUnretained(self) + .subscribe { owner, _ in + owner.makeVibrate(degree: .medium) + let nextVC = AddWithIdBottomSheetViewController() + self.hideBottomSheetAndPresent(nextBottomSheet: nextVC, title: "ID로 명함 추가", height: 184) + }.disposed(by: self.disposeBag) + + byQRButton.rx.tap + .withUnretained(self) + .subscribe { owner, _ in + owner.makeVibrate(degree: .medium) + switch AVCaptureDevice.authorizationStatus(for: .video) { + case .denied: + owner.makeOKCancelAlert(title: "카메라 권한이 허용되어 있지 않아요.", + message: "QR코드 인식을 위해 카메라 권한이 필요합니다. 앱 설정으로 이동해 허용해 주세요.", + okAction: { _ in UIApplication.shared.open(URL(string: UIApplication.openSettingsURLString)!)}, + cancelAction: nil, + completion: nil) + case .authorized: + if self.presentingViewController != nil { + guard let presentingVC = self.presentingViewController else { return } + self.dismiss(animated: false) { + guard let nextVC = UIStoryboard.init(name: Const.Storyboard.Name.qrScan, bundle: nil).instantiateViewController(withIdentifier: Const.ViewController.Identifier.qrScanViewController) as? QRScanViewController else { return } + nextVC.modalPresentationStyle = .overFullScreen + presentingVC.present(nextVC, animated: false, completion: nil) + } + } + case .notDetermined: + AVCaptureDevice.requestAccess(for: .video) { granted in + if granted { + DispatchQueue.main.async { + guard let nextVC = UIStoryboard.init(name: Const.Storyboard.Name.qrScan, bundle: nil).instantiateViewController(withIdentifier: Const.ViewController.Identifier.qrScanViewController) as? QRScanViewController else { return } + nextVC.modalPresentationStyle = .overFullScreen + self.present(nextVC, animated: true, completion: nil) + } + } + } + default: + break + } + }.disposed(by: self.disposeBag) + } +} diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/Home/VC/HomeViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/Home/VC/HomeViewController.swift index 199b9676..8ff13f1d 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/Home/VC/HomeViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/Home/VC/HomeViewController.swift @@ -25,17 +25,20 @@ final class HomeViewController: UIViewController { private let nadaIcon = UIImageView().then { $0.image = UIImage(named: "nadaLogoTxt") } - private let giveCardImageView = UIImageView().then { - $0.image = UIImage(named: "cardVertical") + private let giveCardView = UIView().then { + $0.backgroundColor = .cardCreationUnclicked + $0.layer.cornerRadius = 15 } - private let takeCardImageView = UIImageView().then { - $0.image = UIImage(named: "cardVertical") + private let takeCardView = UIView().then { + $0.backgroundColor = .cardCreationUnclicked + $0.layer.cornerRadius = 15 } - private let aroundMeImageView = UIImageView().then { - $0.image = UIImage(named: "cardHorizon") + private let aroundMeView = UIView().then { + $0.backgroundColor = .cardCreationUnclicked + $0.layer.cornerRadius = 15 } private let giveCardLabel = UILabel().then { - $0.text = "명함 주기" + $0.text = "명함 보내기" $0.font = UIFont.title02 } private let takeCardLabel = UILabel().then { @@ -47,24 +50,27 @@ final class HomeViewController: UIViewController { $0.font = UIFont.title02 } private let giveCardIcon = UIImageView().then { - $0.backgroundColor = .blue + $0.image = UIImage(named: "imgSend") } private let takeCardIcon = UIImageView().then { - $0.backgroundColor = .blue + $0.image = UIImage(named: "imgRecieve") } private let aroundMeIcon = UIImageView().then { - $0.backgroundColor = .blue + $0.image = UIImage(named: "imgNearby") } // MARK: - View Life Cycles override func viewDidLoad() { super.viewDidLoad() - setUI() setLayout() bindActions() checkUpdateVersion() } + + override func viewWillAppear(_ animated: Bool) { + setUI() + } } extension HomeViewController { @@ -74,30 +80,38 @@ extension HomeViewController { private func setUI() { self.view.backgroundColor = .background self.navigationController?.navigationBar.isHidden = true + giveCardView.backgroundColor = .cardCreationUnclicked + takeCardView.backgroundColor = .cardCreationUnclicked + aroundMeView.backgroundColor = .cardCreationUnclicked } private func setLayout() { - view.addSubviews([nadaIcon, giveCardImageView, takeCardImageView, aroundMeImageView]) - giveCardImageView.addSubviews([giveCardLabel, giveCardIcon]) - takeCardImageView.addSubviews([takeCardLabel, takeCardIcon]) - aroundMeImageView.addSubviews([aroundMeLabel, aroundMeIcon]) + view.addSubviews([nadaIcon, giveCardView, takeCardView, aroundMeView]) + giveCardView.addSubviews([giveCardLabel, giveCardIcon]) + takeCardView.addSubviews([takeCardLabel, takeCardIcon]) + aroundMeView.addSubviews([aroundMeLabel, aroundMeIcon]) nadaIcon.snp.makeConstraints { make in make.top.equalTo(self.view.safeAreaLayoutGuide).inset(12) make.leading.equalToSuperview().inset(19) } - giveCardImageView.snp.makeConstraints { make in + giveCardView.snp.makeConstraints { make in make.top.equalTo(nadaIcon.snp.bottom).offset(150) make.leading.equalToSuperview().inset(24) + make.width.equalTo(157) + make.height.equalTo(205) } - takeCardImageView.snp.makeConstraints { make in + takeCardView.snp.makeConstraints { make in make.top.equalTo(nadaIcon.snp.bottom).offset(150) make.trailing.equalToSuperview().inset(24) + make.width.equalTo(157) + make.height.equalTo(205) } - aroundMeImageView.snp.makeConstraints { make in + aroundMeView.snp.makeConstraints { make in make.centerX.equalToSuperview() - make.top.equalTo(giveCardImageView.snp.bottom).offset(14) + make.top.equalTo(giveCardView.snp.bottom).offset(14) make.leading.equalToSuperview().inset(24) + make.height.equalTo(100) } giveCardLabel.snp.makeConstraints { make in make.leading.equalToSuperview().inset(18) @@ -113,43 +127,48 @@ extension HomeViewController { } giveCardIcon.snp.makeConstraints { make in make.top.leading.equalToSuperview().inset(6) - make.width.height.equalTo(90) } takeCardIcon.snp.makeConstraints { make in make.top.leading.equalToSuperview().inset(6) - make.width.height.equalTo(90) } aroundMeIcon.snp.makeConstraints { make in make.centerY.equalToSuperview() make.trailing.equalToSuperview().inset(24) - make.width.height.equalTo(90) } } // MARK: - Methods private func bindActions() { - giveCardImageView.rx.tapGesture() + giveCardView.rx.tapGesture() .when(.recognized) // bind시에도 이벤트가 발생하기 때문 .skip(1)으로도 처리 가능 .withUnretained(self) .bind { owner, _ in owner.makeVibrate() + owner.giveCardView.backgroundColor = .cardCreationClicked print("명함 주기") }.disposed(by: self.disposeBag) - takeCardImageView.rx.tapGesture() - .when(.recognized) // bind시에도 이벤트가 발생하기 때문 .skip(1)으로도 처리 가능 + takeCardView.rx.tapGesture() + .when(.recognized) .withUnretained(self) .bind { owner, _ in owner.makeVibrate() + owner.takeCardView.backgroundColor = .cardCreationClicked print("명함 받기") + let nextVC = ReceiveCardBottomSheetViewController() + .setTitle("명함 받기") + .setHeight(285) + nextVC.modalPresentationStyle = .overFullScreen + self.present(nextVC, animated: false, completion: nil) }.disposed(by: self.disposeBag) - aroundMeImageView.rx.tapGesture() - .when(.recognized) // bind시에도 이벤트가 발생하기 때문 .skip(1)으로도 처리 가능 + aroundMeView.rx.tapGesture() + .when(.recognized) .withUnretained(self) .bind { owner, _ in owner.makeVibrate() + owner.aroundMeView.backgroundColor = .cardCreationClicked let aroundMeVC = self.moduleFactory.makeAroundMeVC() owner.present(aroundMeVC, animated: true) }.disposed(by: self.disposeBag) diff --git a/NADA-iOS-forRelease/Sources/Views/CustomNavigationBar/CustomNavigationBar.swift b/NADA-iOS-forRelease/Sources/Views/CustomNavigationBar/CustomNavigationBar.swift index 072f8570..0f248605 100644 --- a/NADA-iOS-forRelease/Sources/Views/CustomNavigationBar/CustomNavigationBar.swift +++ b/NADA-iOS-forRelease/Sources/Views/CustomNavigationBar/CustomNavigationBar.swift @@ -51,6 +51,7 @@ class CustomNavigationBar: UIView { required init?(coder: NSCoder) { super.init(coder: coder) + setLayout() } // MARK: - UI & Layout