UILabel
주요 프로퍼티 (Properties)
- text:
- 레이블에 표시할 텍스트입니다. 기본값은 
nil입니다. 
 
- font:
- 레이블 텍스트의 폰트입니다. 기본값은 시스템 폰트(크기 17)입니다.
 
 
- textColor:
- 텍스트 색상입니다. 기본값은 
labelColor입니다. 
 
- preferredVibrancy (iOS 17.0+):
- 레이블의 자동 활기를 제어하는 속성입니다. 기본값은 xrOS에서는 
automatic, 다른 플랫폼에서는 none입니다. 
 
- shadowColor:
- 텍스트의 그림자 색상입니다. 기본값은 
nil입니다. 
 
- shadowOffset:
- 텍스트의 그림자 오프셋입니다. 기본값은 
(0, -1)로, 텍스트 위쪽에 그림자가 생깁니다. 
 
- textAlignment:
- 텍스트의 정렬 방식입니다. 기본값은 
NSTextAlignmentNatural입니다. 
- case
left , right,  center 
justified : 양쪽 정렬 
natural : Text uses the default alignment for the current localization of the app. 
 
 
- lineBreakMode:
- 텍스트가 여러 줄로 표시될 때 줄 바꿈 방식을 정의합니다.
 
byWordWrapping  단어 단위로 줄 바꿈을 합니다. 단어 전체가 현재 줄에 들어갈 수 없으면, 단어를 다음 줄로 이동시킵니다.
 
byCharWrapping  글자 단위로 줄 바꿈을 합니다. 현재 줄에 글자가 다 들어가지 않으면, 해당 줄에서 잘리고 남은 글자는 다음 줄로 이동합니다.  단어의 중간에서 줄이 바뀔 수 있습니다.
 
byClipping  줄이 너무 길어지면 나머지 텍스트를 잘라내고, 잘린 부분을 화면에 표시하지 않습니다. 줄이 끊기지 않으며, 잘린 텍스트는 그냥 사라집니다.
 
byTruncatingHead  텍스트가 줄에 맞지 않으면, 앞쪽(처음 부분)을 잘라내고, 잘린 부분에 ...을 표시합니다.
 
byTruncatingTail : 기본값  텍스트가 줄에 맞지 않으면, 뒷쪽(끝 부분)을 잘라내고, 잘린 부분에 ...을 표시합니다.
 
byTruncatingMiddle
- 텍스트가 줄에 맞지 않으면, 중간 부분을 잘라내고, 잘린 부분에 
...을 표시합니다. 
 
 
- attributedText (iOS 6.0+):
- 레이블에 표시할 속성화된 텍스트입니다. 설정된 경우, 
text, font, textColor 등의 속성을 무시합니다. 
 
- highlightedTextColor:
- 레이블이 강조될 때 사용할 텍스트 색상입니다. 기본값은 
nil입니다. 
 
- isHighlighted:
- 레이블이 강조되는지를 나타내는 Bool 값입니다. 기본값은 
NO입니다. 
 
- isUserInteractionEnabled:
- 사용자가 레이블과 상호작용할 수 있는지를 나타내는 Bool 값입니다. 기본값은 
NO입니다. 
 
- isEnabled:
- 레이블이 활성화 상태인지 여부를 나타냅니다. 기본값은 
YES이며, 레이블의 표시 방식에 영향을 줍니다. 
 
- numberOfLines:
- 텍스트를 표시할 최대 줄 수입니다. 기본값은 1줄입니다. 0으로 설정하면 줄 수에 제한이 없습니다.
 
 
- adjustsFontSizeToFitWidth:
- 텍스트가 레이블의 너비에 맞도록 자동으로 축소되는지를 제어합니다. 기본값은 
NO입니다. 
 
- baselineAdjustment:
- 폰트 크기를 줄일 때 텍스트의 기준선 조정 방식을 지정합니다. 기본값은 
UIBaselineAdjustmentAlignBaselines입니다. 
 
- minimumScaleFactor (iOS 6.0+):
- 폰트 크기를 줄일 때 사용할 최소 축소 비율입니다. 기본값은 
0.0입니다. 
 
- allowsDefaultTighteningForTruncation (iOS 9.0+):
- 줄 바꿈 모드가 Truncation 모드일 때, 기본 간격 조정을 허용할지 여부를 지정합니다. 기본값은 
NO입니다. 
 
- lineBreakStrategy (iOS 14.0+):
- 텍스트 레이아웃에 사용할 줄 바꿈 전략을 지정합니다. 기본값은 
NSLineBreakStrategyStandard입니다. 
 
- preferredMaxLayoutWidth (iOS 6.0+):
- 여러 줄 텍스트의 경우, 자동 레이아웃에서 사용할 최대 레이아웃 너비입니다.
 
 
- showsExpansionTextWhenTruncated:
- 텍스트가 잘릴 때 확장 텍스트를 표시할지 여부를 나타냅니다. 기본값은 
NO입니다. 
 
주요 메서드 (Methods)
- textRect(forBounds:limitedToNumberOfLines:):
- 레이블의 텍스트가 그려질 사각형 영역을 반환합니다. 텍스트가 주어진 경계 내에 있고 설정된 줄 수에 따라 제한됩니다.
 
 
- drawText(in:):
 
채택한 프로토콜 (Protocols)
- UIContentSizeCategoryAdjusting:
- 이 프로토콜은 레이블이 콘텐츠 크기 카테고리에 맞춰 글꼴 크기를 자동으로 조정할 수 있도록 합니다. 접근성 설정에 따라 텍스트 크기를 동적으로 조정할 수 있습니다.
 
- adjustsFontForContentSizeCategory:
- 콘텐츠 크기 카테고리에 맞춰 글꼴 크기를 자동으로 조정할지 여부를 나타냅니다.
 
 
 
- UILetterformAwareAdjusting:
- 레이블이 텍스트 레이아웃에 문자 형태 인식 조정 기능을 사용할 수 있도록 하는 프로토콜입니다. 시스템이 제공하는 맞춤법 교정 또는 글꼴 조정 등의 컨텍스트에서 유용합니다.
 
- adjustsFontForContentSizeCategoryAndLetterform:
- 콘텐츠 크기 카테고리와 문자 형태에 따라 폰트 크기를 조정할지 여부를 나타냅니다.