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:
- 콘텐츠 크기 카테고리와 문자 형태에 따라 폰트 크기를 조정할지 여부를 나타냅니다.