diff --git a/idorm.xcodeproj/project.pbxproj b/idorm.xcodeproj/project.pbxproj
index ae9aafb0..dd396221 100644
--- a/idorm.xcodeproj/project.pbxproj
+++ b/idorm.xcodeproj/project.pbxproj
@@ -1494,7 +1494,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- MARKETING_VERSION = 1.0.3;
+ MARKETING_VERSION = 1.0.4;
PRODUCT_BUNDLE_IDENTIFIER = eungcheol.idorm;
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
@@ -1531,7 +1531,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- MARKETING_VERSION = 1.0.3;
+ MARKETING_VERSION = 1.0.4;
PRODUCT_BUNDLE_IDENTIFIER = eungcheol.idorm;
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
diff --git a/idorm.xcworkspace/xcuserdata/eungcheol.xcuserdatad/UserInterfaceState.xcuserstate b/idorm.xcworkspace/xcuserdata/eungcheol.xcuserdatad/UserInterfaceState.xcuserstate
index 61477eb6..173b2814 100644
Binary files a/idorm.xcworkspace/xcuserdata/eungcheol.xcuserdatad/UserInterfaceState.xcuserstate and b/idorm.xcworkspace/xcuserdata/eungcheol.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/idorm.xcworkspace/xcuserdata/eungcheol.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/idorm.xcworkspace/xcuserdata/eungcheol.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
index 814b3a70..57159d5f 100644
--- a/idorm.xcworkspace/xcuserdata/eungcheol.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
+++ b/idorm.xcworkspace/xcuserdata/eungcheol.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -14,8 +14,8 @@
filePath = "idorm/Source/Presentation/MyPage/ViewControllers/MyRoommateVC.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
- startingLineNumber = "205"
- endingLineNumber = "205"
+ startingLineNumber = "204"
+ endingLineNumber = "204"
landmarkName = "tableView(_:viewForHeaderInSection:)"
landmarkType = "7">
@@ -30,8 +30,8 @@
filePath = "idorm/Source/Presentation/MyPage/ViewControllers/MyRoommateVC.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
- startingLineNumber = "206"
- endingLineNumber = "206"
+ startingLineNumber = "205"
+ endingLineNumber = "205"
landmarkName = "tableView(_:viewForHeaderInSection:)"
landmarkType = "7">
diff --git a/idorm/Configuration/Base/SceneDelegate.swift b/idorm/Configuration/Base/SceneDelegate.swift
index d567d054..8e5a3b43 100644
--- a/idorm/Configuration/Base/SceneDelegate.swift
+++ b/idorm/Configuration/Base/SceneDelegate.swift
@@ -49,7 +49,7 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate {
}
func sceneDidBecomeActive(_ scene: UIScene) {
-
+
// PasteBoard
let pasteBoard = UIPasteboard.general
@@ -58,7 +58,5 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate {
guard let newString = string.checkForUrls.first?.absoluteString else { return }
pasteBoard.string = newString
- print(#function)
- print(newString)
}
}
diff --git a/idorm/Configuration/Extensions/String+Extensions.swift b/idorm/Configuration/Extensions/String+Extensions.swift
index a877f973..86e67b09 100644
--- a/idorm/Configuration/Extensions/String+Extensions.swift
+++ b/idorm/Configuration/Extensions/String+Extensions.swift
@@ -27,7 +27,7 @@ extension String {
}
static var version: String {
- return "\(Bundle.main.infoDictionary?["CFBundleShortVersionString"] as! String).\(Bundle.main.infoDictionary?["CFBundleVersion"] as! String)"
+ return "\(Bundle.main.infoDictionary?["CFBundleShortVersionString"] as! String)"
}
var isValidNickname: Bool {
diff --git a/idorm/Configuration/Storages/UserStorage.swift b/idorm/Configuration/Storages/UserStorage.swift
index 3eaa2a5c..2f1cb456 100644
--- a/idorm/Configuration/Storages/UserStorage.swift
+++ b/idorm/Configuration/Storages/UserStorage.swift
@@ -9,28 +9,31 @@ import Foundation
final class UserStorage {
+ static let userDefaults = UserDefaults.standard
+
private enum Keys: String {
case email = "EMAIL"
case password = "PASSWORD"
}
static func saveEmail(from email: String) {
- let userDefaults = UserDefaults.standard
userDefaults.set(email, forKey: Keys.email.rawValue)
}
static func savePassword(from password: String) {
- let userDefaults = UserDefaults.standard
userDefaults.set(password, forKey: Keys.password.rawValue)
}
static func loadEmail() -> String {
- let userDefaults = UserDefaults.standard
return userDefaults.string(forKey: Keys.email.rawValue) ?? ""
}
static func loadPassword() -> String {
- let userDefaults = UserDefaults.standard
return userDefaults.string(forKey: Keys.password.rawValue) ?? ""
}
+
+ static func reset() {
+ userDefaults.removeObject(forKey: Keys.email.rawValue)
+ userDefaults.removeObject(forKey: Keys.password.rawValue)
+ }
}
diff --git a/idorm/Info.plist b/idorm/Info.plist
index 022b97f1..4f18912f 100644
--- a/idorm/Info.plist
+++ b/idorm/Info.plist
@@ -26,6 +26,6 @@
UIViewControllerBasedStatusBarAppearance
-
+
diff --git a/idorm/Source/Presentation/Login/ViewControllers/LoginVC.swift b/idorm/Source/Presentation/Login/ViewControllers/LoginVC.swift
index 0e842585..b5f8d810 100644
--- a/idorm/Source/Presentation/Login/ViewControllers/LoginVC.swift
+++ b/idorm/Source/Presentation/Login/ViewControllers/LoginVC.swift
@@ -124,6 +124,7 @@ final class LoginViewController: BaseViewController, View {
TokenStorage.removeToken()
MemberStorage.shared.resetMember()
FilterStorage.shared.resetFilter()
+ UserStorage.reset()
}
// MARK: - Bind
diff --git a/idorm/Source/Presentation/Matching/ViewControllers/MatchingFilterVC.swift b/idorm/Source/Presentation/Matching/ViewControllers/MatchingFilterVC.swift
index 95d8e0da..d00f3f89 100644
--- a/idorm/Source/Presentation/Matching/ViewControllers/MatchingFilterVC.swift
+++ b/idorm/Source/Presentation/Matching/ViewControllers/MatchingFilterVC.swift
@@ -59,7 +59,7 @@ final class MatchingFilterViewController: BaseViewController, View {
updateFilteredUI(FilterStorage.shared.filter)
}
}
-
+
// MARK: - Bind
func bind(reactor: MatchingFilterViewReactor) {
@@ -171,7 +171,7 @@ final class MatchingFilterViewController: BaseViewController, View {
override func setupStyles() {
super.setupStyles()
- navigationController?.isNavigationBarHidden = false
+ navigationController?.setNavigationBarHidden(false, animated: true)
contentView.backgroundColor = .white
view.backgroundColor = .white
navigationItem.title = "필터"
diff --git a/idorm/Source/Presentation/Matching/ViewControllers/MatchingVC.swift b/idorm/Source/Presentation/Matching/ViewControllers/MatchingVC.swift
index d1dbd9fb..37715534 100644
--- a/idorm/Source/Presentation/Matching/ViewControllers/MatchingVC.swift
+++ b/idorm/Source/Presentation/Matching/ViewControllers/MatchingVC.swift
@@ -55,8 +55,12 @@ final class MatchingViewController: BaseViewController, View {
}
private lazy var buttonStack = UIStackView().then { stack in
- [cancelButton, backButton, messageButton, heartButton]
- .forEach { stack.addArrangedSubview($0) }
+ [
+ cancelButton,
+ backButton,
+ messageButton,
+ heartButton
+ ].forEach { stack.addArrangedSubview($0) }
stack.spacing = 4
}
@@ -65,6 +69,7 @@ final class MatchingViewController: BaseViewController, View {
$0.addSubview(buttonStack)
}
+ override var preferredStatusBarStyle: UIStatusBarStyle { .lightContent }
private let informationImageView = UIImageView()
private let cancelButton = MatchingUtilities.matchingButton(imageName: "circle_dislike_red")
private let messageButton = MatchingUtilities.matchingButton(imageName: "circle_speechBubble_yellow")
@@ -75,8 +80,7 @@ final class MatchingViewController: BaseViewController, View {
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
- navigationController?.isNavigationBarHidden = true
- tabBarController?.tabBar.isHidden = false
+ navigationController?.setNavigationBarHidden(true, animated: true)
}
// MARK: - Setup
diff --git a/idorm/Source/Presentation/MyPage/ViewControllers/ManageMyInfoVC.swift b/idorm/Source/Presentation/MyPage/ViewControllers/ManageMyInfoVC.swift
index cdcd8625..29ea4a18 100644
--- a/idorm/Source/Presentation/MyPage/ViewControllers/ManageMyInfoVC.swift
+++ b/idorm/Source/Presentation/MyPage/ViewControllers/ManageMyInfoVC.swift
@@ -151,15 +151,12 @@ final class ManageMyInfoViewController: BaseViewController, View {
// MARK: - Setup
override func setupStyles() {
- super.setupStyles()
-
+ navigationController?.setNavigationBarHidden(false, animated: true)
navigationItem.title = "내 정보 관리"
view.backgroundColor = .white
}
override func setupLayouts() {
- super.setupLayouts()
-
view.addSubview(scrollView)
scrollView.addSubview(contentView)
@@ -174,8 +171,7 @@ final class ManageMyInfoViewController: BaseViewController, View {
separatorLine2,
withDrawLabel,
logoutButton
- ]
- .forEach { contentView.addSubview($0) }
+ ].forEach { contentView.addSubview($0) }
}
override func setupConstraints() {
diff --git a/idorm/Source/Presentation/MyPage/ViewControllers/MyPageVC.swift b/idorm/Source/Presentation/MyPage/ViewControllers/MyPageVC.swift
index 2a047298..ab9e7244 100644
--- a/idorm/Source/Presentation/MyPage/ViewControllers/MyPageVC.swift
+++ b/idorm/Source/Presentation/MyPage/ViewControllers/MyPageVC.swift
@@ -25,6 +25,7 @@ final class MyPageViewController: BaseViewController, View {
}
private let scrollView = UIScrollView().then {
+ $0.contentInsetAdjustmentBehavior = .never
$0.bounces = false
}
@@ -32,26 +33,18 @@ final class MyPageViewController: BaseViewController, View {
$0.backgroundColor = .idorm_gray_100
}
- private let gearButton = UIButton().then {
- $0.setImage(#imageLiteral(resourceName: "gear"), for: .normal)
- }
-
private let lionImageView = UIImageView(image: #imageLiteral(resourceName: "lion_half"))
private let topProfileView = TopProfileView()
private let matchingContainerView = MatchingContainerView()
+ override var preferredStatusBarStyle: UIStatusBarStyle { .lightContent }
// MARK: - LifeCycle
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
- navigationController?.navigationBar.isHidden = false
+ navigationController?.setNavigationBarHidden(true, animated: true)
tabBarController?.tabBar.isHidden = false
- let navigationBarAppearance = AppearanceManager.navigationAppearance(from: .idorm_blue, shadow: false)
- navigationController?.navigationBar.standardAppearance = navigationBarAppearance
- navigationController?.navigationBar.scrollEdgeAppearance = navigationBarAppearance
- navigationController?.navigationBar.compactAppearance = navigationBarAppearance
-
let tabBarAppearance = AppearanceManager.tabbarAppearance(from: .idorm_gray_100)
tabBarController?.tabBar.standardAppearance = tabBarAppearance
tabBarController?.tabBar.scrollEdgeAppearance = tabBarAppearance
@@ -60,11 +53,6 @@ final class MyPageViewController: BaseViewController, View {
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
- let navigationBarAppearance = AppearanceManager.navigationAppearance(from: .white, shadow: false)
- navigationController?.navigationBar.standardAppearance = navigationBarAppearance
- navigationController?.navigationBar.scrollEdgeAppearance = navigationBarAppearance
- navigationController?.navigationBar.compactAppearance = navigationBarAppearance
-
let tabBarAppearance = AppearanceManager.tabbarAppearance(from: .white)
tabBarController?.tabBar.standardAppearance = tabBarAppearance
tabBarController?.tabBar.scrollEdgeAppearance = tabBarAppearance
@@ -83,7 +71,7 @@ final class MyPageViewController: BaseViewController, View {
.disposed(by: disposeBag)
// 설정 버튼 클릭
- gearButton.rx.tap
+ topProfileView.gearBtn.rx.tap
.map { MyPageViewReactor.Action.didTapGearButton }
.bind(to: reactor.action)
.disposed(by: disposeBag)
@@ -245,20 +233,19 @@ final class MyPageViewController: BaseViewController, View {
// MARK: - Setup
override func setupStyles() {
- super.setupStyles()
- view.backgroundColor = .white
- navigationItem.rightBarButtonItem = UIBarButtonItem(customView: gearButton)
+ view.backgroundColor = .idorm_blue
}
override func setupLayouts() {
- super.setupLayouts()
-
view.addSubview(scrollView)
view.addSubview(indicator)
scrollView.addSubview(contentView)
- [topProfileView, matchingContainerView, lionImageView]
- .forEach { contentView.addSubview($0) }
+ [
+ topProfileView,
+ matchingContainerView,
+ lionImageView
+ ].forEach { contentView.addSubview($0) }
}
override func setupConstraints() {
@@ -280,7 +267,7 @@ final class MyPageViewController: BaseViewController, View {
topProfileView.snp.makeConstraints { make in
make.leading.trailing.top.equalToSuperview()
- make.height.equalTo(146)
+ make.height.equalTo(190)
}
matchingContainerView.snp.makeConstraints { make in
diff --git a/idorm/Source/Presentation/MyPage/ViewControllers/MyRoommateVC.swift b/idorm/Source/Presentation/MyPage/ViewControllers/MyRoommateVC.swift
index 6252eb49..c18925ea 100644
--- a/idorm/Source/Presentation/MyPage/ViewControllers/MyRoommateVC.swift
+++ b/idorm/Source/Presentation/MyPage/ViewControllers/MyRoommateVC.swift
@@ -83,7 +83,7 @@ final class MyRoommateViewController: BaseViewController, View {
.withUnretained(self)
.bind { $0.0.tableView.reloadData() }
.disposed(by: disposeBag)
-
+
// 현재 정렬
reactor.state
.map { $0.currentSort }
@@ -137,8 +137,7 @@ final class MyRoommateViewController: BaseViewController, View {
// MARK: - Setup
override func setupStyles() {
- super.setupStyles()
-
+ navigationController?.setNavigationBarHidden(false, animated: true)
view.backgroundColor = .idorm_gray_100
switch roommate {
case .like:
diff --git a/idorm/Source/Presentation/MyPage/Views/TopProfileView.swift b/idorm/Source/Presentation/MyPage/Views/TopProfileView.swift
index d70dfacb..cc93c843 100644
--- a/idorm/Source/Presentation/MyPage/Views/TopProfileView.swift
+++ b/idorm/Source/Presentation/MyPage/Views/TopProfileView.swift
@@ -7,10 +7,20 @@ final class TopProfileView: UIView {
// MARK: - Properties
- let nicknameLabel = UILabel().then {
- $0.textColor = .idorm_gray_100
- $0.font = .init(name: MyFonts.medium.rawValue, size: 14)
- }
+ let gearBtn: UIButton = {
+ let btn = UIButton()
+ btn.setImage(UIImage(named: "gear"), for: .normal)
+
+ return btn
+ }()
+
+ let nicknameLabel: UILabel = {
+ let lb = UILabel()
+ lb.textColor = .idorm_gray_100
+ lb.font = .init(name: MyFonts.medium.rawValue, size: 14)
+
+ return lb
+ }()
let profileImageView = UIImageView(image: #imageLiteral(resourceName: "sqaure_human"))
@@ -39,19 +49,27 @@ final class TopProfileView: UIView {
}
private func setupLayout() {
- [profileImageView, nicknameLabel]
- .forEach { addSubview($0) }
+ [
+ profileImageView,
+ nicknameLabel,
+ gearBtn
+ ].forEach { addSubview($0) }
}
private func setupConstraints() {
profileImageView.snp.makeConstraints { make in
make.centerX.equalToSuperview()
- make.top.equalToSuperview().inset(16)
+ make.bottom.equalTo(nicknameLabel.snp.top).offset(-8)
}
nicknameLabel.snp.makeConstraints { make in
make.centerX.equalToSuperview()
- make.top.equalTo(profileImageView.snp.bottom).offset(8)
+ make.bottom.equalToSuperview().inset(24)
+ }
+
+ gearBtn.snp.makeConstraints { make in
+ make.top.equalToSuperview().inset(16)
+ make.trailing.equalToSuperview().inset(24)
}
}
}
diff --git a/idorm/Source/Presentation/Onboarding/ViewControllers/OnboardingDetailVC.swift b/idorm/Source/Presentation/Onboarding/ViewControllers/OnboardingDetailVC.swift
index 2cd2e683..bb5acb91 100644
--- a/idorm/Source/Presentation/Onboarding/ViewControllers/OnboardingDetailVC.swift
+++ b/idorm/Source/Presentation/Onboarding/ViewControllers/OnboardingDetailVC.swift
@@ -115,6 +115,7 @@ final class OnboardingDetailViewController: BaseViewController, View {
super.setupStyles()
view.backgroundColor = .white
navigationItem.title = "내 프로필 이미지"
+ navigationController?.setNavigationBarHidden(false, animated: true)
}
override func setupLayouts() {
diff --git a/idorm/Source/Presentation/Onboarding/ViewControllers/OnboardingVC.swift b/idorm/Source/Presentation/Onboarding/ViewControllers/OnboardingVC.swift
index e1121c8f..f8b266f4 100644
--- a/idorm/Source/Presentation/Onboarding/ViewControllers/OnboardingVC.swift
+++ b/idorm/Source/Presentation/Onboarding/ViewControllers/OnboardingVC.swift
@@ -626,7 +626,7 @@ final class OnboardingViewController: BaseViewController, View {
}
override func setupStyles() {
- super.setupStyles()
+ navigationController?.setNavigationBarHidden(false, animated: true)
contentView.backgroundColor = .white
view.backgroundColor = .white