iOS/iOS

[iOS, Swift] NSAttributedString 개념과 기본 예제

검은참깨두유vm 2023. 3. 7. 00:00
반응형

iOS 16.1, Xcode 14.2, Swift 5, UIKit 환경에서 진행했습니다.

 

문자열에 대한 다양한 서식을 지정할 수 있는 클래스
NSAttributedString은 문자열의 특정 부분에 대한 서식을 지정할 수 있게 해주는 클래스입니다. 이 클래스를 사용하면 텍스트에 색상, 폰트, 스타일 등 다양한 서식을 적용할 수 있습니다.
Swift에서는 NSAttributedString을 다루는데 있어서 더욱 강력한 기능을 제공하는 NSAttributedString을 사용할 수 있습니다. 이 클래스를 이용하면 더욱 다양한 속성을 지정할 수 있습니다.
아래는 Swift AttributedString을 사용한 예시 코드입니다.
let attributedString = NSMutableAttributedString(string: "Swift AttributedString")

// 문자열 전체에 대한 폰트와 색상을 지정합니다.
let attributes: [NSAttributedString.Key : Any] = [
    .font: UIFont.systemFont(ofSize: 16),
    .foregroundColor: UIColor.black
]
attributedString.addAttributes(attributes, range: NSRange(location: 0, length: attributedString.length))

// "Swift" 문자열에 대한 폰트와 색상을 지정합니다.
let swiftAttributes: [NSAttributedString.Key : Any] = [
    .font: UIFont.boldSystemFont(ofSize: 16),
    .foregroundColor: UIColor.red
]
attributedString.addAttributes(swiftAttributes, range: NSRange(location: 0, length: 5))

// "AttributedString" 문자열에 대한 폰트와 색상을 지정합니다.
let attributedAttributes: [NSAttributedString.Key : Any] = [
    .font: UIFont.systemFont(ofSize: 16),
    .foregroundColor: UIColor.blue
]
attributedString.addAttributes(attributedAttributes, range: NSRange(location: 6, length: 14))

 

위 코드에서는 NSMutableAttributedString 객체를 생성하고, 이 객체에 대해 다양한 서식을 적용하는 코드가 포함되어 있습니다.
NSAttributedString을 사용하면 어플리케이션에서 다양한 서식을 지원할 수 있습니다. 예를 들어, 사용자에게 이메일을 보낼 때 이메일 본문에 대한 서식을 지정할 수 있습니다. 또한, 특정 부분의 문자열을 강조하는 등의 효과를 추가할 수 있습니다.
Swift AttributedString은 문자열에 대한 서식을 지정하는데 유용한 클래스입니다. 이 클래스를 이용하면 문자열에 대한 다양한 서식을 지정할 수 있으며, 텍스트의 특정 부분을 강조하는 등 다양한 효과를 추가할 수 있습니다.

 

let attributedString = NSMutableAttributedString(string: "123-456-7890")

let attributes: [NSAttributedString.Key : Any] = [
    .font: UIFont.systemFont(ofSize: 20),
    .foregroundColor: UIColor.blue
]

let regex = try! NSRegularExpression(pattern: "[0-9-]+")
let matches = regex.matches(in: attributedString.string, range: NSRange(location: 0, length: attributedString.length))

for match in matches {
    attributedString.addAttributes(attributes, range: match.range)
}
위 코드에서는 NSMutableAttributedString 객체를 생성하고, 이 객체에 대해 정규식을 이용하여 숫자와 하이픈으로 된 글자만 폰트 크기와 폰트 색상을 지정하는 코드가 포함되어 있습니다. NSAttributedString.Key를 이용하여 폰트 크기와 폰트 색상을 지정할 수 있습니다.
위 코드에서는 [0-9-]+ 정규식을 이용하여 텍스트에서 숫자와 하이픈으로 된 글자를 찾아내고, 이들에 대해 addAttributes 메소드를 이용하여 폰트 크기와 폰트 색상을 지정합니다.
NSAttributedString을 사용하면, 어플리케이션에서 문자열에 대한 다양한 서식을 지원할 수 있습니다. 이를 통해 사용자에게 보다 다양한 경험을 제공할 수 있습니다.
반응형

'iOS > iOS' 카테고리의 다른 글

[App] Antiverse  (0) 2024.04.27
[App] 삼체 - Body Problem  (1) 2024.04.22
[iOS, Swift] Timer 기능 모음  (0) 2022.08.28
[iOS, Swift] UIGesture 기능 모음  (0) 2022.08.25
[iOS, Swift] UIView 기능 모음  (0) 2022.08.21