Skip to content

Commit

Permalink
[FEAT] TeamNADA#105 - 명함생성 미리보기 뷰 명함 화면전환효과 추가
Browse files Browse the repository at this point in the history
  • Loading branch information
hyun99999 committed Dec 2, 2021
1 parent aff05b4 commit f2a5ba8
Show file tree
Hide file tree
Showing 5 changed files with 100 additions and 35 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="FHO-mj-1yu">
<rect key="frame" x="24" y="114" width="327" height="540"/>
<color key="backgroundColor" systemColor="systemGray6Color"/>
<gestureRecognizers/>
<constraints>
<constraint firstAttribute="height" constant="540" id="b0L-OT-Q7F"/>
<constraint firstAttribute="width" constant="327" id="xtT-wz-pPq"/>
Expand Down
36 changes: 36 additions & 0 deletions NADA-iOS-forRelease/Sources/Cells/CardCell/BackCardCell.swift
Original file line number Diff line number Diff line change
Expand Up @@ -88,4 +88,40 @@ extension BackCardCell {
self.secondTmiLabel.text = secondTmi
self.thirdTmiLabel.text = thirdTmi
}

// FIXME: - UIImage 로 넘어올때. 나중에 어떻게 사용할지 정해야함.
func initCell(_ backgroundImage: UIImage?,
_ isMintImage: Bool,
_ isNoMintImage: Bool,
_ isSojuImage: Bool,
_ isBeerImage: Bool,
_ isPourImage: Bool,
_ isPutSauceImage: Bool,
_ isYangnyumImage: Bool,
_ isFriedImage: Bool,
_ firstTmi: String,
_ secondTmi: String,
_ thirdTmi: String) {

self.backgroundImageView.image = backgroundImage ?? UIImage()
self.mintImageView.image = isMintImage == true ?
UIImage(named: "iconTasteOnMincho") : UIImage(named: "iconTasteOffMincho")
self.noMintImageView.image = isNoMintImage == true ?
UIImage(named: "iconTasteOnBanmincho") : UIImage(named: "iconTasteOffBanmincho")
self.sojuImageView.image = isSojuImage == true ?
UIImage(named: "iconTasteOnSoju") : UIImage(named: "iconTasteOffSoju")
self.beerImageView.image = isBeerImage == true ?
UIImage(named: "iconTasteOnBeer") : UIImage(named: "iconTasteOffBeer")
self.pourEatImageView.image = isPourImage == true ?
UIImage(named: "iconTasteOnBumeok") : UIImage(named: "iconTasteOffBumeok")
self.putSauceEatImageView.image = isPutSauceImage == true ?
UIImage(named: "iconTasteOnZzik") : UIImage(named: "iconTasteOffZzik")
self.sauceChickenImageView.image = isYangnyumImage == true ?
UIImage(named: "iconTasteOnSeasoned") : UIImage(named: "iconTasteOffSeasoned")
self.friedChickenImageView.image = isFriedImage == true ?
UIImage(named: "iconTasteOnFried") : UIImage(named: "iconTasteOffFried")
self.firstTmiLabel.text = firstTmi
self.secondTmiLabel.text = secondTmi
self.thirdTmiLabel.text = thirdTmi
}
}
33 changes: 16 additions & 17 deletions NADA-iOS-forRelease/Sources/Cells/CardCell/FrontCardCell.swift
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,7 @@ class FrontCardCell: CardCell {
@IBOutlet weak var userNameLabel: UILabel!
@IBOutlet weak var birthLabel: UILabel!
@IBOutlet weak var mbtiLabel: UILabel!
@IBOutlet weak var instagramImageView: UIImageView!
@IBOutlet weak var instagramIDLabel: UILabel!
@IBOutlet weak var linkURLImageView: UIImageView!
@IBOutlet weak var linkURLLabel: UILabel!

// MARK: - Life Cycle
Expand Down Expand Up @@ -52,6 +50,7 @@ extension FrontCardCell {
instagramIDLabel.textColor = .white
linkURLLabel.font = .textRegular04
linkURLLabel.textColor = .white
linkURLLabel.numberOfLines = 2
}

func initCell(_ backgroundImage: String,
Expand All @@ -65,13 +64,13 @@ extension FrontCardCell {
if let bgImage = UIImage(named: backgroundImage) {
self.backgroundImageView.image = bgImage
}
self.titleLabel.text = cardTitle
self.descriptionLabel.text = cardDescription
self.userNameLabel.text = userName
self.birthLabel.text = birth
self.mbtiLabel.text = mbti
self.instagramIDLabel.text = instagramID
self.linkURLLabel.text = linkURL
titleLabel.text = cardTitle
descriptionLabel.text = cardDescription
userNameLabel.text = userName
birthLabel.text = birth
mbtiLabel.text = mbti
instagramIDLabel.text = instagramID
linkURLLabel.text = linkURL
}

// FIXME: - UIImage 로 넘어올때. 나중에 어떻게 사용할지 정해야함.
Expand All @@ -83,13 +82,13 @@ extension FrontCardCell {
_ mbti: String,
_ instagramID: String,
_ linkURL: String) {
self.backgroundImageView.image = backgroundImage ?? UIImage()
self.titleLabel.text = cardTitle
self.descriptionLabel.text = cardDescription
self.userNameLabel.text = userName
self.birthLabel.text = birth
self.mbtiLabel.text = mbti
self.instagramIDLabel.text = instagramID
self.linkURLLabel.text = linkURL
backgroundImageView.image = backgroundImage ?? UIImage()
titleLabel.text = cardTitle
descriptionLabel.text = cardDescription
userNameLabel.text = userName
birthLabel.text = birth
mbtiLabel.text = mbti
instagramIDLabel.text = instagramID
linkURLLabel.text = linkURL
}
}
4 changes: 1 addition & 3 deletions NADA-iOS-forRelease/Sources/Cells/CardCell/FrontCardCell.xib
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@
<constraint firstItem="eyB-c0-PQB" firstAttribute="top" secondItem="aik-Vi-yux" secondAttribute="bottom" constant="10" id="Ebd-SK-4i7"/>
<constraint firstAttribute="trailing" secondItem="D6t-Nc-4xH" secondAttribute="trailing" id="GGx-Tf-nEl"/>
<constraint firstItem="TXF-fP-7YQ" firstAttribute="leading" secondItem="OeE-mZ-GcL" secondAttribute="leading" id="ITf-JC-Tm4"/>
<constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="LqW-bV-yHr" secondAttribute="bottom" constant="5" id="JrI-dN-H5E"/>
<constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="LqW-bV-yHr" secondAttribute="bottom" constant="30" id="JrI-dN-H5E"/>
<constraint firstItem="S8I-Fv-fkf" firstAttribute="bottom" secondItem="D6t-Nc-4xH" secondAttribute="bottom" id="N52-K9-r1O"/>
<constraint firstItem="aik-Vi-yux" firstAttribute="top" secondItem="cO6-DY-EUn" secondAttribute="bottom" constant="13" id="RLL-SV-ohE"/>
<constraint firstItem="TXF-fP-7YQ" firstAttribute="top" secondItem="eyB-c0-PQB" secondAttribute="bottom" constant="55" id="RtB-w6-jlM"/>
Expand All @@ -125,8 +125,6 @@
<outlet property="birthLabel" destination="aik-Vi-yux" id="QTx-yd-LoY"/>
<outlet property="descriptionLabel" destination="VDj-1w-jyf" id="YqY-uP-XQV"/>
<outlet property="instagramIDLabel" destination="8oi-jO-fkf" id="eIE-ch-cCT"/>
<outlet property="instagramImageView" destination="TXF-fP-7YQ" id="yIP-5S-tPH"/>
<outlet property="linkURLImageView" destination="el0-x0-WD9" id="O2h-sb-XSb"/>
<outlet property="linkURLLabel" destination="LqW-bV-yHr" id="vD7-qs-hSc"/>
<outlet property="mbtiLabel" destination="eyB-c0-PQB" id="waJ-j4-tRM"/>
<outlet property="titleLabel" destination="OeE-mZ-GcL" id="NIa-Yu-Bit"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ class CardCreationPreviewViewController: UIViewController {
public var backCardDataModel: BackCardDataModel?
public var cardBackgroundImage: UIImage?

private var isFront = true
private var cardCreationRequest: CardCreationRequest?

// MARK: - @IBOutlet Properties
Expand All @@ -27,6 +28,8 @@ class CardCreationPreviewViewController: UIViewController {
super.viewDidLoad()

setUI()
setFrontCard()
setGestureRecognizer()
}
@IBAction func touchCompleteButton(_ sender: Any) {
guard let frontCardDataModel = frontCardDataModel, let backCardDataModel = backCardDataModel else { return }
Expand Down Expand Up @@ -72,30 +75,58 @@ extension CardCreationPreviewViewController {
completeButton.setBackgroundImage(UIImage(named: "enableButtonBackground"), for: .normal)
completeButton.setTitleColor(.white, for: .normal)
}
setFrontCardWith()
}

private func setFrontCardWith() {
private func setFrontCard() {
guard let frontCard = FrontCardCell.nib().instantiate(withOwner: self, options: nil).first as? FrontCardCell else { return }

frontCard.frame = CGRect(x: 0, y: 0, width: cardView.frame.width, height: cardView.frame.height)
// FIXME: - 갤러리 추가/주석해제
guard let frontCardDataModel = frontCardDataModel else { return }
frontCard.initCell(cardBackgroundImage, frontCardDataModel.title, frontCardDataModel.description, frontCardDataModel.name, frontCardDataModel.birthDate, frontCardDataModel.mbti, frontCardDataModel.instagramID, frontCardDataModel.linkURL)
guard let frontCardDataModel = frontCardDataModel else { return }
frontCard.initCell(cardBackgroundImage, frontCardDataModel.title, frontCardDataModel.description, frontCardDataModel.name, frontCardDataModel.birthDate, frontCardDataModel.mbti, frontCardDataModel.instagramID, frontCardDataModel.linkURL)

// FIXME: - dummy data
// frontCard.initCell("card", "nada", "NADA의 짱귀염둥이 ㅎ 막이래~", "개빡쳐하는 오야옹~", "1999/05/12", "ENFP", "yaeoni", "github.com/yaeoni")
cardView.addSubview(frontCard)
}
private func setGestureRecognizer() {
let swipeLeftGestureRecognizer = UISwipeGestureRecognizer(target: self, action: #selector(transitionCardWithAnimation(_:)))
swipeLeftGestureRecognizer.direction = .left
self.cardView.addGestureRecognizer(swipeLeftGestureRecognizer)

let swipeRightGestureRecognizer = UISwipeGestureRecognizer(target: self, action: #selector(transitionCardWithAnimation(_:)))
swipeRightGestureRecognizer.direction = .right
self.cardView.addGestureRecognizer(swipeRightGestureRecognizer)
}

// MARK: - @objc Methods

private func setBackCardWith() {
guard let backCard = BackCardCell.nib().instantiate(withOwner: self, options: nil).first as? BackCardCell else { return }
guard let backCardDataModel = backCardDataModel else { return }
backCard.frame = CGRect(x: 0, y: 0, width: cardView.frame.width, height: cardView.frame.height)
@objc
private func transitionCardWithAnimation(_ swipeGesture: UISwipeGestureRecognizer) {
if isFront {
guard let backCard = BackCardCell.nib().instantiate(withOwner: self, options: nil).first as? BackCardCell else { return }
guard let backCardDataModel = backCardDataModel else { return }
backCard.frame = CGRect(x: 0, y: 0, width: cardView.frame.width, height: cardView.frame.height)
backCard.initCell(cardBackgroundImage, backCardDataModel.isMincho, !backCardDataModel.isMincho, backCardDataModel.isSoju, !backCardDataModel.isSoju, backCardDataModel.isBoomuk, !backCardDataModel.isBoomuk, backCardDataModel.isSauced, !backCardDataModel.isSauced, backCardDataModel.firstTMI, backCardDataModel.secondTMI, backCardDataModel.thirdTMI)

cardView.addSubview(backCard)
isFront = false
} else {
guard let frontCard = FrontCardCell.nib().instantiate(withOwner: self, options: nil).first as? FrontCardCell else { return }

frontCard.frame = CGRect(x: 0, y: 0, width: cardView.frame.width, height: cardView.frame.height)
guard let frontCardDataModel = frontCardDataModel else { return }
frontCard.initCell(cardBackgroundImage, frontCardDataModel.title, frontCardDataModel.description, frontCardDataModel.name, frontCardDataModel.birthDate, frontCardDataModel.mbti, frontCardDataModel.instagramID, frontCardDataModel.linkURL)

cardView.addSubview(frontCard)
isFront = true
}
if swipeGesture.direction == .right {
UIView.transition(with: cardView, duration: 1, options: .transitionFlipFromLeft, animations: nil) { _ in
self.cardView.subviews[0].removeFromSuperview()
}
} else {
UIView.transition(with: cardView, duration: 1, options: .transitionFlipFromRight, animations: nil) { _ in
self.cardView.subviews[0].removeFromSuperview()
}
}

// FIXME: - dummy data
backCard.initCell("card", false, true, false, true, false, true, false, true, "티엠아이", "모쓰지", "모르겠다")
cardView.addSubview(backCard)
}

// MARK: - Network
Expand Down

0 comments on commit f2a5ba8

Please sign in to comment.