반응형
iOS에서 autoshrink는 주로 UILabel, UITextView, 또는 UIButton과 같은 텍스트 기반 UI 요소에 사용되는 속성으로, 텍스트가 해당 뷰의 크기나 제한된 공간을 넘을 경우 자동으로 텍스트 크기를 축소하여 공간에 맞게 표시되도록 합니다. 이를 통해 레이아웃의 유동성 있는 텍스트 처리가 가능해집니다.
주요 속성
- Minimum Font Size (최소 폰트 크기):
- autoshrink가 작동할 때 텍스트가 줄어들 수 있는 최소 폰트 크기를 설정합니다.
- 이 속성은 텍스트 크기가 너무 작아지는 것을 방지하고, 지정된 최소 크기 이하로 줄어들지 않도록 합니다.
- Adjusts Font Size To Fit Width (너비에 맞게 폰트 크기 조정):
- UILabel 또는 UIButton의 adjustsFontSizeToFitWidth 속성을 활성화하면, 텍스트가 라벨의 너비를 초과할 때 텍스트 크기가 자동으로 줄어듭니다.
- 이 속성을 사용하면, 텍스트가 컨테이너의 크기 내에 맞도록 크기가 자동으로 조정되며, 너무 긴 텍스트가 잘리지 않고 보이도록 할 수 있습니다.
사용 예시 (UILabel)
let label = UILabel()
label.text = "This is a very long text that might overflow"
label.numberOfLines = 1
label.adjustsFontSizeToFitWidth = true // 텍스트 크기 자동 조정
label.minimumScaleFactor = 0.5 // 최소 폰트 크기 설정
사용 예시 (UIButton)
let button = UIButton()
button.setTitle("A really long title for this button", for: .normal)
button.titleLabel?.adjustsFontSizeToFitWidth = true
button.titleLabel?.minimumScaleFactor = 0.6
사용 예시 (Storyboard)
주의사항
- autoshrink가 활성화된 상태에서, 최소 폰트 크기를 너무 작게 설정하면 읽기 어려운 텍스트가 될 수 있습니다. 적절한 최소 크기를 설정하는 것이 중요합니다.
- adjustsFontSizeToFitWidth는 주로 수평 공간이 제한된 경우 유용하며, 수직 공간이 제한된 경우에는 numberOfLines를 조정하여 해결할 수 있습니다.
이 속성은 텍스트가 들어갈 공간이 동적으로 변할 때 유용하게 사용됩니다. 예를 들어, 다양한 화면 크기에서 동일한 텍스트를 다룰 때 유연성을 제공합니다.
반응형
'UIKit' 카테고리의 다른 글
UIKit | iOS 13 Deprecated - UIApplication.shared.keyWindow (1) | 2024.12.10 |
---|---|
UIKit | SwiftUI Preview 적용하기 (iOS 15.ver) (0) | 2024.08.13 |
UIKit | Content Hugging Priority 이해하기(가로 세로 레이아웃 조정) (0) | 2024.08.10 |
iOS | GCD에 관하여 - 2 (4) | 2024.07.16 |
iOS | GCD에 관하여 - 1 (0) | 2024.07.15 |