From 5e3eb8811f4606793365be6320fcc8623de2f7f6 Mon Sep 17 00:00:00 2001 From: CJiu01 Date: Thu, 28 Nov 2024 17:18:32 +0900 Subject: [PATCH] =?UTF-8?q?[#185]=20ios16LoginPromptView=20=EB=B6=84?= =?UTF-8?q?=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ios16+ 에서 지원하는 UI입니다. --- .../Auth/View/ios16LoginPromptView.swift | 84 +++++++++++++++++++ .../LoginPromptViewController.swift | 66 ++------------- 2 files changed, 89 insertions(+), 61 deletions(-) create mode 100644 EATSSU_MVC/EATSSU_MVC/Sources/Presentation/Auth/View/ios16LoginPromptView.swift diff --git a/EATSSU_MVC/EATSSU_MVC/Sources/Presentation/Auth/View/ios16LoginPromptView.swift b/EATSSU_MVC/EATSSU_MVC/Sources/Presentation/Auth/View/ios16LoginPromptView.swift new file mode 100644 index 00000000..e9368aed --- /dev/null +++ b/EATSSU_MVC/EATSSU_MVC/Sources/Presentation/Auth/View/ios16LoginPromptView.swift @@ -0,0 +1,84 @@ +// +// ios16LoginPromptView.swift +// EATSSU +// +// Created by 최지우 on 11/28/24. +// + +import UIKit + +final class ios16LoginPromptView: BaseUIView { + + // MARK: - UI Components + + private let loginAlertLabel = UILabel() + private let appleLoginButton = UIButton() + private let kakaoLoginButton = UIButton() + private let buttonStackView = UIStackView() + private let loginPromptStackView = UIStackView() + private let buttonView = UIView() + + // MARK: - Intializer + + override init(frame: CGRect) { + super.init(frame: frame) + + setViewProperties() + } + + // MARK: - Functions + + private func setViewProperties() { + loginAlertLabel.do { + $0.text = TextLiteral.SignIn.loginPrompt + $0.textAlignment = .left + $0.numberOfLines = 0 + $0.font = EATSSUFontFamily.Pretendard.bold.font(size: 18) + $0.setContentHuggingPriority(.defaultHigh, for: .vertical) + } + + appleLoginButton.do { + $0.setImage(EATSSUAsset.Images.Version2.appleLoginButton.image, for: .normal) + } + + kakaoLoginButton.do { + $0.setImage(EATSSUAsset.Images.Version2.kakaoLoginButton.image, for: .normal) + } + + buttonStackView.do { + $0.axis = .vertical + $0.spacing = 8 + } + + loginPromptStackView.do { + $0.axis = .vertical + } + } + + override func configureUI() { + addSubview(loginPromptStackView) + buttonView.addSubview(buttonStackView) + + buttonStackView.addArrangedSubviews([appleLoginButton, + kakaoLoginButton]) + loginPromptStackView.addArrangedSubviews([loginAlertLabel, + buttonView]) + } + + override func setLayout() { + loginAlertLabel.snp.makeConstraints { + $0.top.equalToSuperview() + } + + buttonStackView.snp.makeConstraints{ + $0.center.equalToSuperview() + } + + loginPromptStackView.snp.makeConstraints { + $0.horizontalEdges.equalToSuperview().inset(30) + $0.height.equalToSuperview().multipliedBy(0.7) + $0.bottom.equalToSuperview().multipliedBy(0.85) + } + } +} + diff --git a/EATSSU_MVC/EATSSU_MVC/Sources/Presentation/Auth/ViewController/LoginPromptViewController.swift b/EATSSU_MVC/EATSSU_MVC/Sources/Presentation/Auth/ViewController/LoginPromptViewController.swift index 928b3c8c..a90a1e18 100644 --- a/EATSSU_MVC/EATSSU_MVC/Sources/Presentation/Auth/ViewController/LoginPromptViewController.swift +++ b/EATSSU_MVC/EATSSU_MVC/Sources/Presentation/Auth/ViewController/LoginPromptViewController.swift @@ -11,73 +11,17 @@ final class LoginPromptViewController: BaseViewController { // MARK: - UI Components - private let loginAlertLabel = UILabel() - private let appleLoginButton = UIButton() - private let kakaoLoginButton = UIButton() - private let buttonStackView = UIStackView() - private let loginPromptStackView = UIStackView() - private let buttonView = UIView() - - // MARK: - Life Cycles - - override func viewDidLoad() { - super.viewDidLoad() - - setViewProperties() - } + private let loginPromptView = ios16LoginPromptView() // MARK: - Functions - - private func setViewProperties() { - loginAlertLabel.do { - $0.text = TextLiteral.SignIn.loginPrompt - $0.textAlignment = .left - $0.numberOfLines = 0 - $0.font = EATSSUFontFamily.Pretendard.bold.font(size: 18) - $0.setContentHuggingPriority(.defaultHigh, for: .vertical) - } - - appleLoginButton.do { - $0.setImage(EATSSUAsset.Images.Version2.appleLoginButton.image, for: .normal) - } - - kakaoLoginButton.do { - $0.setImage(EATSSUAsset.Images.Version2.kakaoLoginButton.image, for: .normal) - } - - buttonStackView.do { - $0.axis = .vertical - $0.spacing = 8 - } - - loginPromptStackView.do { - $0.axis = .vertical - } - } - + override func configureUI() { - view.addSubview(loginPromptStackView) - buttonView.addSubview(buttonStackView) - - buttonStackView.addArrangedSubviews([appleLoginButton, - kakaoLoginButton]) - loginPromptStackView.addArrangedSubviews([loginAlertLabel, - buttonView]) + view.addSubview(loginPromptView) } override func setLayout() { - loginAlertLabel.snp.makeConstraints { - $0.top.equalToSuperview() - } - - buttonStackView.snp.makeConstraints{ - $0.center.equalToSuperview() - } - - loginPromptStackView.snp.makeConstraints { - $0.horizontalEdges.equalToSuperview().inset(30) - $0.height.equalToSuperview().multipliedBy(0.7) - $0.bottom.equalToSuperview().multipliedBy(0.85) + loginPromptView.snp.makeConstraints { + $0.edges.equalToSuperview() } } }