728x90
๋์ ๋ฏธ์
1. ๋๊ทธ๋๊ฒ ๋ง๋ค์ด์ผํจ
2. padding ๊ฐ์ผ๋ก ๊ธ์จ leading, trailing์ 4์ ์ฌ๋ฐฑ์ ์ค์ผํจ
3. top, bottom ๋ 2 ์ ๋์ ์ฌ๋ฐฑ
์์ ๊ธ์จ๊ฐ ๋์ด๋ ๋๋ง๋ค, ๊ธ์จ๊ฐ ๋์ด๋ ์ ์๋๋ก!
Label์ Padding ๊ฐ์ ์ค ์๋ ์๋ค!!
์ปค์คํ ํด์ ๋ง๋ค์ด์ผํด์ฉ!
BasePaddingLabel.swift ํ์ผ์ ์์ฑํด์ค๋ค.
import UIKit
class BasePaddingLabel: UILabel {
private var padding = UIEdgeInsets(top: 2.0, left: 4.0, bottom: 2.0, right: 4.0)
convenience init(padding: UIEdgeInsets) {
self.init()
self.padding = padding
}
override func drawText(in rect: CGRect) {
super.drawText(in: rect.inset(by: padding))
}
//์์ ๋ด์ฌ๋์ด์๋ ์ฝํ
ํธ์ ์ฌ์ด์ฆ์ ๋ฐ๋ผ height์ width์ padding๊ฐ์ ๋ํด์ค
override var intrinsicContentSize: CGSize {
var contentSize = super.intrinsicContentSize
contentSize.height += padding.top + padding.bottom
contentSize.width += padding.left + padding.right
return contentSize
}
}
BasePaddingLabel์ ์์๋ฐ์ Label์ ์์ฑํด์ค๋ค.
private let ifSuccessLabel = BasePaddingLabel(padding: UIEdgeInsets(top: 2, left: 4, bottom: 2, right: 4)).then {
$0.backgroundColor = .lightGray
$0.font = .systemFont(ofSize: 10, weight: .semibold)
$0.textColor = .white
$0.clipsToBounds = true // ์์๊ฐ ์์ ธ๋๊ฐ์ง ์๋๋ก ํ๋ ์์ฑ
$0.layer.cornerRadius = 8 // ๋ฅ๊ธ๊ฒ ๋ง๋๋ ์ ๋
$0.textAlignment = .center
}
- LabelContainerView์์ Label์ ์ง์ด๋ฃ๊ธฐ
// MARK: Properties
private let ifSuccessLabelContainerView = UIView().then {
$0.makeRounded(cornerRadius: 8.adjusted)
$0.backgroundColor = .grey_5
$0.clipsToBounds = true
}
private let ifSuccessLabel = UILabel().then {
$0.setLabel(text: "gggg", color: .white, size: 10, weight: .semiBold)
$0.textAlignment = .center
}
๋ง๋ค์ด๋์ UIView์ UILabel์ ์ง์ด๋ฃ์ด์ค๋๋ค ~ ..
/// UIView ์์ UILabel ๋ฃ๊ธฐ
ifSuccessLabelContainerView.addSubview(ifSuccessLabel)
/// ๊ฐ๊ฒฉ ์กฐ์
ifSuccessLabelContainerView.snp.makeConstraints {
$0.centerY.equalTo(privateImageView)
$0.leading.equalTo(goalTitleLabel.snp.trailing).offset(6)
}
ifSuccessLabel.snp.makeConstraints {
$0.centerX.equalTo(ifSuccessLabelContainerView)
$0.centerY.equalTo(ifSuccessLabelContainerView)
$0.leading.trailing.equalTo(ifSuccessLabelContainerView).inset(4)
$0.top.bottom.equalTo(ifSuccessLabelContainerView).inset(2)
}
๋๋ค ๋ผ๋ฒจ์ ๋ฐ๋ผ์ ๊ฒ์ ํ ๋๋ฆฌ๊ฐ ๋์ด๋๊ฒ ๋ฉ๋๋ค ~
728x90