Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- UICollectionView
- SWIFT
- Xcode
- Human interface guide
- combine
- uitableview
- UITextView
- HIG
- ios
- Refactoring
- 애니메이션
- ribs
- rxswift
- MVVM
- 클린 코드
- map
- uiscrollview
- RxCocoa
- Observable
- tableView
- Protocol
- clean architecture
- swift documentation
- swiftUI
- 리팩토링
- collectionview
- 스위프트
- Clean Code
- 리펙터링
- 리펙토링
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[iOS - swift] 내부 크기에 따라 동적으로 width 길이가 증가하는 뷰 본문
상황
- 내부 크기가 동적으로 증가하는 경우 (label.text와 같은 경우), superView의 width를 동적으로 증가하여 내부 레이아웃을 유지할 수 있는 방법
- 값에 따라 크기가 동적으로 늘어나는 - 예시) UILabel
let temporaryLabel = UILabel()
temporaryLabel.font = UIFont.systemFont(ofSize: 12)
temporaryLabel.text = "sampleDataString"
print(temporaryLabel.intrinsicContentSize) // (101.0, 14.5)
temporaryLabel.text = "sampleDataLongString ---- long ----"
print(temporaryLabel.intrinsicContentSize) // (209.0, 14.5)
- UILabel을 contents로 가지고 있는 View에서, 내부 레이아웃은 변하지 않고 외부 View의 크기가 동적으로 증가할수 있는 방법?
Stack View 사용
- Stack View의 width or height는 stack view내부에 존재하는 view의 size에 따라 동적으로 조절
- StackView안에 width가 16인 empty뷰를 Label 왼쪽, 오른쪽에 배치
- Corner에 radius값 부여
stackView.layer.cornerRadius = 16
stackView.clipsToBounds = true
- Label의 내용에 맞게 superView의 width값이 동적으로 조절
'iOS 응용 (swift)' 카테고리의 다른 글
[iOS - swift] App Thinning, ODR, App Slicing, bitcode 개념 (0) | 2021.03.01 |
---|---|
[iOS - swift] enum Equatable 비교 연산자 만드는 방법 (0) | 2021.02.23 |
[iOS - swift] StackView 내부 view간의 spacing 설정 방법 (0) | 2021.02.19 |
[iOS - swift] 토스트 메세지 (toast message), 글자에 따른 toast view width 동적 조절, 문자열 크기 동적 계산 (0) | 2021.02.19 |
[iOS - swift] tableView 스크롤바 표출 flashScrollIndicators() (0) | 2021.02.18 |
Comments