UILabel 총 정리

어흥·2024년 8월 21일
0

iOS

목록 보기
9/10

UILabel

주요 프로퍼티 (Properties)

  1. text:
    • 레이블에 표시할 텍스트입니다. 기본값은 nil입니다.
  2. font:
    • 레이블 텍스트의 폰트입니다. 기본값은 시스템 폰트(크기 17)입니다.
  3. textColor:
    • 텍스트 색상입니다. 기본값은 labelColor입니다.
  4. preferredVibrancy (iOS 17.0+):
    • 레이블의 자동 활기를 제어하는 속성입니다. 기본값은 xrOS에서는 automatic, 다른 플랫폼에서는 none입니다.
  5. shadowColor:
    • 텍스트의 그림자 색상입니다. 기본값은 nil입니다.
  6. shadowOffset:
    • 텍스트의 그림자 오프셋입니다. 기본값은 (0, -1)로, 텍스트 위쪽에 그림자가 생깁니다.
  7. textAlignment:
    • 텍스트의 정렬 방식입니다. 기본값은 NSTextAlignmentNatural입니다.
    • case
      • left , right, center
      • justified : 양쪽 정렬
      • natural : Text uses the default alignment for the current localization of the app.
  8. lineBreakMode:
    • 텍스트가 여러 줄로 표시될 때 줄 바꿈 방식을 정의합니다.
    • byWordWrapping 단어 단위로 줄 바꿈을 합니다. 단어 전체가 현재 줄에 들어갈 수 없으면, 단어를 다음 줄로 이동시킵니다.
    • byCharWrapping 글자 단위로 줄 바꿈을 합니다. 현재 줄에 글자가 다 들어가지 않으면, 해당 줄에서 잘리고 남은 글자는 다음 줄로 이동합니다. 단어의 중간에서 줄이 바뀔 수 있습니다.
    • byClipping 줄이 너무 길어지면 나머지 텍스트를 잘라내고, 잘린 부분을 화면에 표시하지 않습니다. 줄이 끊기지 않으며, 잘린 텍스트는 그냥 사라집니다.
    • byTruncatingHead 텍스트가 줄에 맞지 않으면, 앞쪽(처음 부분)을 잘라내고, 잘린 부분에 ...을 표시합니다.
    • byTruncatingTail : 기본값 텍스트가 줄에 맞지 않으면, 뒷쪽(끝 부분)을 잘라내고, 잘린 부분에 ...을 표시합니다.
    • byTruncatingMiddle
      • 텍스트가 줄에 맞지 않으면, 중간 부분을 잘라내고, 잘린 부분에 ...을 표시합니다.
  9. attributedText (iOS 6.0+):
    • 레이블에 표시할 속성화된 텍스트입니다. 설정된 경우, text, font, textColor 등의 속성을 무시합니다.
  10. highlightedTextColor:
    • 레이블이 강조될 때 사용할 텍스트 색상입니다. 기본값은 nil입니다.
  11. isHighlighted:
    • 레이블이 강조되는지를 나타내는 Bool 값입니다. 기본값은 NO입니다.
  12. isUserInteractionEnabled:
    • 사용자가 레이블과 상호작용할 수 있는지를 나타내는 Bool 값입니다. 기본값은 NO입니다.
  13. isEnabled:
    • 레이블이 활성화 상태인지 여부를 나타냅니다. 기본값은 YES이며, 레이블의 표시 방식에 영향을 줍니다.
  14. numberOfLines:
    • 텍스트를 표시할 최대 줄 수입니다. 기본값은 1줄입니다. 0으로 설정하면 줄 수에 제한이 없습니다.
  15. adjustsFontSizeToFitWidth:
    • 텍스트가 레이블의 너비에 맞도록 자동으로 축소되는지를 제어합니다. 기본값은 NO입니다.
  16. baselineAdjustment:
    • 폰트 크기를 줄일 때 텍스트의 기준선 조정 방식을 지정합니다. 기본값은 UIBaselineAdjustmentAlignBaselines입니다.
  17. minimumScaleFactor (iOS 6.0+):
    • 폰트 크기를 줄일 때 사용할 최소 축소 비율입니다. 기본값은 0.0입니다.
  18. allowsDefaultTighteningForTruncation (iOS 9.0+):
    • 줄 바꿈 모드가 Truncation 모드일 때, 기본 간격 조정을 허용할지 여부를 지정합니다. 기본값은 NO입니다.
  19. lineBreakStrategy (iOS 14.0+):
    • 텍스트 레이아웃에 사용할 줄 바꿈 전략을 지정합니다. 기본값은 NSLineBreakStrategyStandard입니다.
  20. preferredMaxLayoutWidth (iOS 6.0+):
    • 여러 줄 텍스트의 경우, 자동 레이아웃에서 사용할 최대 레이아웃 너비입니다.
  21. showsExpansionTextWhenTruncated:
    • 텍스트가 잘릴 때 확장 텍스트를 표시할지 여부를 나타냅니다. 기본값은 NO입니다.

주요 메서드 (Methods)

  1. textRect(forBounds:limitedToNumberOfLines:):
    • 레이블의 텍스트가 그려질 사각형 영역을 반환합니다. 텍스트가 주어진 경계 내에 있고 설정된 줄 수에 따라 제한됩니다.
  2. drawText(in:):
    • 주어진 사각형 영역에 텍스트를 그립니다.

채택한 프로토콜 (Protocols)

  1. UIContentSizeCategoryAdjusting:
    • 이 프로토콜은 레이블이 콘텐츠 크기 카테고리에 맞춰 글꼴 크기를 자동으로 조정할 수 있도록 합니다. 접근성 설정에 따라 텍스트 크기를 동적으로 조정할 수 있습니다.
    • adjustsFontForContentSizeCategory:
      • 콘텐츠 크기 카테고리에 맞춰 글꼴 크기를 자동으로 조정할지 여부를 나타냅니다.
  2. UILetterformAwareAdjusting:
    • 레이블이 텍스트 레이아웃에 문자 형태 인식 조정 기능을 사용할 수 있도록 하는 프로토콜입니다. 시스템이 제공하는 맞춤법 교정 또는 글꼴 조정 등의 컨텍스트에서 유용합니다.
    • adjustsFontForContentSizeCategoryAndLetterform:
      • 콘텐츠 크기 카테고리와 문자 형태에 따라 폰트 크기를 조정할지 여부를 나타냅니다.

0개의 댓글