Skip to content

Commit

Permalink
[#18] 불필요 height, Vertical Divider 삭제
Browse files Browse the repository at this point in the history
  • Loading branch information
jysuhr authored and LeeJoEun-01 committed Oct 9, 2024
1 parent 836c316 commit d4fa9c9
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 96 deletions.
85 changes: 7 additions & 78 deletions Handy/Handy-Storybook/Atom/DividerViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,134 +12,63 @@ import SnapKit
class DividerViewController: BaseViewController {

//MARK: - 프로퍼티 선언
// horizontal Divider
let divider1: HandyDivider = {
let divider = HandyDivider(.horizontal)
divider.thickness = .thickness4
let divider = HandyDivider()
divider.thickness = .thickness1
return divider
}()

let divider2: HandyDivider = {
let divider = HandyDivider(.horizontal)
let divider = HandyDivider()
divider.thickness = .thickness2
return divider
}()

let divider4: HandyDivider = {
let divider = HandyDivider(.horizontal)
let divider = HandyDivider()
divider.thickness = .thickness4
return divider
}()

let divider8: HandyDivider = {
let divider = HandyDivider(.horizontal)
divider.thickness = .thickness8
return divider
}()

// vertical Divider
let vContainerView: UIView = {
let view = UIView()
return view
}()

let vDivider1: HandyDivider = {
let divider = HandyDivider(.vertical)
divider.thickness = .thickness1
return divider
}()

let vDivider2: HandyDivider = {
let divider = HandyDivider(.vertical)
divider.thickness = .thickness2
return divider
}()

let vDivider4: HandyDivider = {
let divider = HandyDivider(.vertical)
divider.thickness = .thickness4
return divider
}()

let vDivider8: HandyDivider = {
let divider = HandyDivider(.vertical)
let divider = HandyDivider()
divider.thickness = .thickness8
return divider
}()

//MARK: - 뷰에 추가
override func setViewHierarchies() {
self.view.backgroundColor = .black
self.view.addSubview(divider1)
self.view.addSubview(divider2)
self.view.addSubview(divider4)
self.view.addSubview(divider8)

self.view.addSubview(vDivider1)
self.view.addSubview(vDivider2)
self.view.addSubview(vDivider4)
self.view.addSubview(vDivider8)
}

//MARK: - 레이아웃 배치
override func setViewLayouts() {
/// horizontal Divider Layout
divider1.snp.makeConstraints {
$0.height.equalTo(0)
$0.width.equalTo(375)
$0.centerX.equalToSuperview()
$0.top.equalTo(self.view.snp.top).offset(150)
$0.top.equalTo(self.view.snp.top).offset(300)
}


divider2.snp.makeConstraints {
$0.height.equalTo(0)
$0.width.equalTo(375)
$0.centerX.equalToSuperview()
$0.top.equalTo(divider1.snp.bottom).offset(20)
}

divider4.snp.makeConstraints {
$0.height.equalTo(0)
$0.width.equalTo(375)
$0.centerX.equalToSuperview()
$0.top.equalTo(divider2.snp.bottom).offset(20)
}

divider8.snp.makeConstraints {
$0.height.equalTo(0)
$0.width.equalTo(375)
$0.centerX.equalToSuperview()
$0.top.equalTo(divider4.snp.bottom).offset(20)
}

/// vertical Divider Layout
vDivider1.snp.makeConstraints {
$0.height.equalTo(375)
$0.width.equalTo(0)
$0.leading.equalToSuperview().offset(155)
$0.top.equalTo(divider1.snp.bottom).offset(200)
}

vDivider2.snp.makeConstraints {
$0.height.equalTo(375)
$0.width.equalTo(0)
$0.centerY.equalTo(vDivider1.snp.centerY)
$0.leading.equalTo(vDivider1.snp.trailing).offset(20)
}

vDivider4.snp.makeConstraints {
$0.height.equalTo(375)
$0.width.equalTo(0)
$0.centerY.equalTo(vDivider1.snp.centerY)
$0.leading.equalTo(vDivider2.snp.trailing).offset(20)
}

vDivider8.snp.makeConstraints {
$0.height.equalTo(375)
$0.width.equalTo(0)
$0.centerY.equalTo(vDivider1.snp.centerY)
$0.leading.equalTo(vDivider4.snp.trailing).offset(20)
}
}
}
23 changes: 5 additions & 18 deletions Handy/Handy/Source/Atom/HandyDivider.swift
Original file line number Diff line number Diff line change
Expand Up @@ -30,21 +30,14 @@ public class HandyDivider: UIView {
}
}

public enum DividerDirection {
case horizontal
case vertical
}

@Invalidating(.layout) public var thickness: DividerThickness = .thickness1 {
didSet {
setNeedsUpdateConstraints()
}
}
@Invalidating(.layout) private var direction: DividerDirection = .horizontal

public init(_ direction: DividerDirection) {
self.direction = direction
super.init(frame: .zero)
public override init(frame: CGRect) {
super.init(frame: frame)
setupView()
}

Expand All @@ -54,6 +47,7 @@ public class HandyDivider: UIView {

private func setupView() {
setColor()
setThickness()
}

private func setColor() {
Expand All @@ -66,15 +60,8 @@ public class HandyDivider: UIView {
}

private func setThickness() {
switch direction {
case .horizontal:
self.snp.updateConstraints {
$0.height.equalTo(thickness.rawValue)
}
case .vertical:
self.snp.updateConstraints {
$0.width.equalTo(thickness.rawValue)
}
self.snp.updateConstraints {
$0.height.equalTo(thickness.rawValue)
}
}
}

0 comments on commit d4fa9c9

Please sign in to comment.