반응형
개발 환경
---------------------------------
OS : Mac
개발 툴 : xcode
개발 언어 : Swift
xcode version : 14.2
min iOS version : 13.0
---------------------------------
안녕하세요 이번 포스팅에서는 UILabel에 padding을 줘볼건데요
android 개발을 하다보면 xml 파일에서 padding이나 margin을 주는게 너무나 너무나 ~ 간편하게 되어있는데
iOS 1년차 개발자의 눈으로는 xcode에서 margin이나 padding 주기가 좀 까다로운것 같아요
좀 많이? ㅠ 까다로운 것 같습니다.
다시 본론으로 돌아와서 UILabel에 Padding을 줘볼건데요
먼저 @IBDesignable annotation이 붙은 클래스를 하나 만들어줍니다.
아래 소스를 그대로 넣어줍니다.
@IBDesignable class PaddingLabel: UILabel {
@IBInspectable var topInset: CGFloat = 5.0
@IBInspectable var bottomInset: CGFloat = 5.0
@IBInspectable var leftInset: CGFloat = 8.0
@IBInspectable var rightInset: CGFloat = 8.0
override func drawText(in rect: CGRect) {
let insets = UIEdgeInsets.init(top: topInset, left: leftInset, bottom: bottomInset, right: rightInset)
super.drawText(in: rect.inset(by: insets))
}
override var intrinsicContentSize: CGSize {
let size = super.intrinsicContentSize
return CGSize(width: size.width + leftInset + rightInset, height: size.height + topInset + bottomInset)
}
}
@IBDesignable 어노테이션을 사용했기 때문에 storyBoard 인스펙터에서 사용하고 실시간 렌더링을 할 수 있습니다.
위 이미지와 같이 인스펙터에서 UILabel을 하나 생성하고
class를 PaddingLabel로 설정해주면 UILabel에 padding을 줄 수 있습니다.!
더 좋은 방법이 있다면 공유 부탁드립니다,,!
반응형
'개발노트 > iOS' 카테고리의 다른 글
[Swift] WkWebview Custom UserAgent 설정하기 (0) | 2023.03.26 |
---|---|
[Swift] KaKao Link Share, 카카오톡 링크 공유하기 (0) | 2023.02.27 |
SWIFT : 특정 뷰 화면 전환하기 - 세로모드 예제(orientation : portrait) (0) | 2023.02.20 |
[Swift] javascript Alert & Confirm 띄우기 (0) | 2023.02.20 |
iOS & Android : 프로젝트에 폰트 추가 및 설정 (0) | 2023.02.20 |
댓글