맛동산이

Swift) NSAttributedString, NSMutableAttributedString 본문

앱/Swift

Swift) NSAttributedString, NSMutableAttributedString

진ddang 2024. 1. 1. 21:29

대표적으로 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) )

끝!

반응형