안녕하세요 공공돌🧸 입니다.
UILabel에 대해 공식 문서를 번역해보면서 알아보겠습니다.
1. UILabel
Overview( 개요 )
레이블 텍스트의 전반적인 모양을 구성하고 텍스트 내의 부분 문자열의 모양을 사용자 정의하기 위해 속성 문자열을 사용할 수 있습니다. 레이블을 프로그래밍 방식으로 추가하고 인터페이스 빌더의 속성 검사기를 사용하여 인터페이스를 사용자 정의할 수 있습니다.
다음 단계에 따라 인터페이스에 레이블을 추가하세요
- 콘텐츠를 나타내는 문자열 또는 속성 문자열을 제공하세요.
- 속성이 적용되지 않은 문자열을 사용하는 경우 레이블의 외관을 구성하세요.
- 레이블의 크기와 위치를 규정하기 위해 Auto Layout 규칙을 설정하세요.
- 접근성 정보 및 로컬라이즈된 문자열을 제공하세요.
Customize the label’s appearance( 레이블의 외관 사용자 정의 )
레이블의 콘텐츠는 text 속성에 NSString 객체 또는 attributedText 속성에 NSAttributedString 객체를 할당하여 제공합니다.
레이블은 가장 최근에 설정된 속성을 표시합니다.
attributedText 속성을 사용하면 NSAttributedString API를 사용하여 개별 문자 및 문자 그룹의 모양을 제어할 수 있습니다.
아래 이미지는 글꼴, 색상 및 문자열의 정렬을 사용자 지정하기 위한 속성이 포함된 NSAttributedString을 표시하는 레이블을 보여줍니다.
만약 레이블의 텍스트를 균일하게 서식 지정하려면 text 속성을 콘텐츠를 포함하는 NSString 객체로 설정하고, font, textColor, textAlignment, lineBreakMode 속성을 구성하세요.
다음 이미지는 사용자 지정 글꼴, 색상 및 정렬로 NSString을 표시하는 레이블을 보여줍니다.
이러한 외관 속성을 attributedText 속성을 표시하는 레이블에 설정하면 레이블은 적절한 속성을 무시하고 일관된 외관으로 attributed 문자열을 표시합니다.
다음 이미지는 첫 번째 이미지의 레이블에서 textColor 속성을 초록색으로 설정한 레이블을 보여줍니다.
레이블이 텍스트를 레이아웃할 때 사용할 최대 줄 수를 numberOfLines 속성으로 지정하세요. 값으로 0을 설정하면 레이블은 너비 내에서 텍스트를 레이아웃하기 위해 필요한 만큼의 줄을 사용합니다. lineBreakMode 속성을 사용하여 레이블이 텍스트를 여러 줄로 나누고 마지막 줄과 관련된 생략 동작을 제어하세요.
레이블을 위치 및 선택적으로 크기 조정하기 위해 Auto Layout을 사용하세요. 레이블의 내재적 콘텐츠 크기는 기본적으로 콘텐츠를 단일 행에 표시하는 크기로 설정됩니다. 레이블의 너비를 정의하는 Auto Layout 제약을 제공하면 레이블의 내재적 콘텐츠 크기가 높이를 조절하여 텍스트를 완전히 표시합니다.
레이블이 외부에서 크기가 완전히 정의된 경우 콘텐츠가 경계 내에 맞지 않을 때의 처리 방법을 지정할 수 있습니다. 폰트 크기를 줄이려면 adjustsFontSizeToFitWidth 속성을 true로 설정하고, minimumScaleFactor 속성을 0과 1 사이의 값으로 설정하세요. 후자의 속성은 레이블이 텍스트를 원하는 글꼴 크기보다 얼마나 작게 축소할지를 나타냅니다. allowsDefaultTighteningForTruncation 속성을 true로 설정하면 레이블은 문자열을 생략하기 전에 문자 간의 간격을 줄이도록 지시합니다. 다음 이미지는 minimumScaleFactor 및 adjustsFontSizeToFitWidth를 사용하여 문자열 전체 내용을 표시하는 레이블을 보여줍니다.
Design labels for a wide audience( 다양한 사용자를 위한 레이블 디자인 )
레이블은 사용자에게 중요한 정보를 제공합니다.
정보가 다양한 사용자에게 전달되도록 텍스트를 국제화하고 레이블에서 접근성을 지원하세요.
Internationalization 및 로컬라이제이션을 구현하는 방법에 대한 자세한 내용은 국제화 문서를 참조하세요.
레이블은 기본적으로 VoiceOver를 통해 접근 가능합니다.
레이블의 기본 접근성 특성은 "Static Text" 및 "User Interaction Enabled"입니다.
VoiceOver를 지원하는 방법에 대한 자세한 내용은 앱에서 VoiceOver 지원 문서를 참조하세요.
Dynamic Type을 지원하기 위해 텍스트 스타일을 사용하는 방법에 대한 정보는 글꼴을 자동으로 확대/축소 문서를 참조하세요.
Topics
Accessing the text attributes( 텍스트 속성에 액세스 )
var text: String?
레이블이 표시하는 텍스트입니다.
var attributedText: NSAttributedString?
레이블이 표시하는 스타일이 적용된 텍스트입니다.
var font: UIFont!
텍스트의 글꼴입니다.
var textColor: UIColor!
텍스트의 색상입니다.
var textAlignment: NSTextAlignment
텍스트 정렬 기술입니다.
var lineBreakMode: NSLineBreakMode
레이블의 텍스트를 래핑하고 생략하는 기술입니다.
var lineBreakStrategy: NSParagraphStyle.LineBreakStrategy
시스템이 여러 줄 텍스트를 레이아웃할 때 줄을 나누는 전략입니다.
var isEnabled: Bool
레이블이 텍스트를 활성 상태로 표시할지 여부를 결정하는 부울 값입니다.
var enablesMarqueeWhenAncestorFocused: Bool
레이블이 포함된 뷰 중 하나에 포커스가 있을 때 레이블이 텍스트를 스크롤할지 여부를 결정하는 부울 값입니다.
var showsExpansionTextWhenTruncated: Bool
포인터가 생략된 텍스트 위로 올라갈 때 레이블의 전체 텍스트가 표시되는지 여부를 결정하는 부울 값입니다.
Sizing the label’s text( 레이블 텍스트의 크기 조절 )
var adjustsFontSizeToFitWidth: Bool
레이블이 제목 문자열을 레이블의 경계 직사각형에 맞추기 위해 텍스트의 글꼴 크기를 줄일지 여부를 나타내는 부울 값입니다.
var allowsDefaultTighteningForTruncation: Bool
생략 전에 레이블이 텍스트를 조여야 하는지 여부를 나타내는 부울 값입니다.
var baselineAdjustment: UIBaselineAdjustment
텍스트가 레이블에 맞춰야 할 때 기준선이 고정될지를 제어하는 옵션입니다.
var minimumScaleFactor: CGFloat
레이블의 텍스트의 최소 스케일 팩터입니다.
var numberOfLines: Int
텍스트를 렌더링하는 데 사용할 최대 줄 수입니다.
var sizingRule: UILetterformAwareSizingRule
글꼴에 큰 문자가 포함된 텍스트를 처리하는 타이포그래픽 바운드 크기 조절 동작입니다. (필수)
Managing highlite values( 하이라이트 값 관리 )
var highlightedTextColor: UIColor?
레이블 텍스트의 강조 색상입니다.
var isHighlighted: Bool
레이블이 텍스트를 강조하여 표시할지 여부를 결정하는 부울 값입니다.
Managing vibrancy( vibrancy 관리 )
var preferredVibrancy: UILabelVibrancy
Vibrancy를 관리하는 열거형입니다.
Drawing a shadow( 그림자 그리기 )
var shadowColor: UIColor?
텍스트의 그림자 색상입니다.
var shadowOffset: CGSize
텍스트의 그림자 오프셋(포인트 단위)입니다.
Drawing and positioning overrides( 텍스트 그리기 및 위치 지정 재정의 )
func textRect(forBounds: CGRect, limitedToNumberOfLines: Int) -> CGRect
레이블 텍스트의 그림을 반환합니다.
func drawText(in: CGRect)
지정된 직사각형에 레이블 텍스트 또는 그림자를 그립니다.
Getting the layout constraints( 레이아웃 제약 조건 얻기 )
var preferredMaxLayoutWidth: CGFloat
여러 줄 레이블의 용도로 설정된 경우의 선호하는 최대 너비(포인트 단위)입니다.
Accessing additional attributes( 추가 속성에 액세스 )
var isUserInteractionEnabled: Bool
시스템이 이 레이블에 대한 사용자 이벤트를 무시하고 제거할지 여부를 나타내는 부울 값입니다.
Supporting types( 지원하는 유형 )
enum NSTextAlignment
텍스트 정렬을 지정하는 상수입니다.
참조 링크
UILabel | Apple Developer Documentation
A view that displays one or more lines of informational text.
developer.apple.com
공부하는 공돌이, 공공돌입니다🐻
@sheep1sik
'iOS > UIKit' 카테고리의 다른 글
[ UIKit ] UISlider (20) | 2024.02.03 |
---|---|
[ UIKit ] UIButton (19) | 2024.01.28 |
[ UIKit ] UIKit이란? (14) | 2024.01.26 |