Swift) NSAttributedString, NSMutableAttributedString

2024. 1. 1. 21:29·앱/Swift

대표적으로 Foundation 프레임워크 내에서 텍스트 대치 방법은( 텍스트에 스타일을 추가해주는 방법 )은 크게

  • NSAttributedString
  • NSMutableAttributedString

또한 하위로 문단 스타일을 설정하는데 있어서

  • NSParagraphStyle
  • NSMutableParagraphStyle

가 있다.

NSAttributedString


Untitled.png

nsAttributedString은 기본 시스템의 스타일이 아닌, 텍스트 자체에 다양한 설정을 추가할수 있는 텍스트 클래스를 의미한다.

NSAttributedString 사용하는 방법

1. Attribute 선언하기

텍스트에 어떠한 설정을 주고 싶은지 미리 선언을 한다.

let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineSpacing = 10.0

let attributes : [NSAttributedString.key] = [
		 .font: UIFont.systemFont(ofSize: 20.0, weight: .semibold),
     .foregroundColor: UIColor.systemBlue,
     .paragraphStyle: paragraphStyle,
     .backgroundColor: UIColor.lightGray,
]

배열형태로 값을 미리 선언해서 넣어준다.

2. attirbute를 채택하는 string값을 만들어줌( nsAttributeString )

let text = NSAttributeString(text: string, attribute: attribute)

3. attributedText를 지정

label이나 text에 지정한다.

let label = UILabel {
	$0.attributedText = text
}()

NSMutableAttributedString

Untitled.png

nsMutableAttributedString은 위에서 텍스트의 한 부분만 특정 스타일을 지정해서 사용하는 클래스를 의미한다.

NSMutableAttributedString 사용하는법

위의 방법과 거의 동일하지만

nsMutableAttributed를 만들어서 범위를 지정해줘야한다.

text.addAttributes(additionalAttributes, range: NSRange(location: 5, length: 27) )

끝!

반응형

'앱 > Swift' 카테고리의 다른 글

Swift) URLSession, async await을 사용하여(parameter, header, body 세팅까지)  (0) 2024.02.25
Combine과 Rx가 잘 이해가 안가는 사람을 위한 설명(feat. SwiftUI에 비유해서)  (2) 2024.01.01
UIKit) lineBreakMode에 대해서  (1) 2024.01.01
UIKit) Then을 사용해보자  (0) 2024.01.01
Swift) DiscardableResult, 알람이 필요없다면!  (0) 2024.01.01
'앱/Swift' 카테고리의 다른 글
  • Swift) URLSession, async await을 사용하여(parameter, header, body 세팅까지)
  • Combine과 Rx가 잘 이해가 안가는 사람을 위한 설명(feat. SwiftUI에 비유해서)
  • UIKit) lineBreakMode에 대해서
  • UIKit) Then을 사용해보자
진ddang
진ddang
안녕하세요 진땅의 개발자 블로그 입니다. 피드백은 환영입니다. 깃헙 : https://github.com/it794613
    반응형
  • 진ddang
    맛동산이
    진ddang
  • 전체
    오늘
    어제
    • 분류 전체보기 (199)
      • 일기 그리고 목표 (1)
      • 웹 (20)
        • 리액트 (19)
      • 앱 (115)
        • Swift 문법 (15)
        • Swift (65)
        • SwiftUI (32)
        • 리액트 네이티브 (3)
      • CS (30)
        • 컴퓨터그래픽스 (8)
        • 운영체제 (6)
        • 네트워크 (16)
      • 알고리즘 (13)
        • 백준 (12)
        • 프로그래머스 (1)
      • 대외활동 (7)
        • ict한이음(2022.04) (2)
        • 멋쟁이 사자처럼 (5)
        • Apple Developer Academy (0)
      • 다양한 내용들 (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    SwiftUI
    cs
    spritekit
    대외활동
    리액트
    멋쟁이사자처럼
    composable architecture
    운영체제
    스유
    TCA
    알고리즘
    위젯킷
    ReactorKit
    dispatchqueue
    웹
    컴퓨터그래픽스
    후기
    문법
    멋사
    c++
    uikit
    Swift
    스위프트
    widget
    widgetkit
    swift concurrency
    백준
    네트워크
    Protocol
    영남대
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
진ddang
Swift) NSAttributedString, NSMutableAttributedString
상단으로

티스토리툴바