하나의 UILabel 안에서 굵은 텍스트(Bold)와 일반(Non-Bold) 텍스트를 함께 사용하려면 두 가지 방법이 있습니다. 스토리보드(Storyboard) 편집기를 이용하는 방법과 코드로 직접 구현하는 방법입니다. 각각의 방법을 자세히 살펴보겠습니다.
방법 1 — 스토리보드에서 편집하기
편집하고 싶은 레이블(Label)을 선택한 후, 어트리뷰트 인스펙터(Attribute Inspector)로 이동합니다.
첫 번째 옵션인 Text 항목에서 기본값인 Plain 대신 Attributes를 선택합니다.
레이블에 다음과 같이 입력합니다: “Bold Regular”
Bold 부분을 더블클릭하여 선택한 뒤, 마우스 오른쪽 버튼을 클릭해 추가 옵션을 확인합니다.
메뉴에서 Font > Bold를 선택하면 해당 텍스트만 굵게 표시됩니다.
방법 2 — 코드로 구현하기
프로그래밍 방식으로는 NSAttributedString을 활용합니다. 뷰 컨트롤러의 viewDidLoad 메서드에 아래 코드를 추가하세요.
override func viewDidLoad() {
super.viewDidLoad()
let boldAttribute = [
NSAttributedString.Key.font: UIFont(name: "HelveticaNeue-Bold", size: 18.0)!
]
let regularAttribute = [
NSAttributedString.Key.font: UIFont(name: "HelveticaNeue-Light", size: 18.0)!
]
let boldText = NSAttributedString(string: "Bold", attributes: boldAttribute)
let regularText = NSAttributedString(string: " regular", attributes: regularAttribute)
let newString = NSMutableAttributedString()
newString.append(boldText)
newString.append(regularText)
lbl.attributedText = newString
}코드 설명
위 코드에서는 먼저 굵은 글꼴(HelveticaNeue-Bold)과 일반 글꼴(HelveticaNeue-Light)에 대한 속성 딕셔너리를 각각 정의합니다. 그다음 NSAttributedString으로 각 텍스트 조각을 생성하고, NSMutableAttributedString에 순서대로 append하여 하나의 문자열로 합친 후, 레이블의 attributedText 속성에 할당하는 방식입니다.
필요에 따라 이 코드는 함수나 Extension 형태로 변환하여 재사용할 수도 있습니다. 예를 들어 여러 레이블에서 반복적으로 사용한다면 UILabel 확장(Extension)으로 만들어두면 코드가 훨씬 깔끔해집니다.
위 두 가지 방법 중 어떤 것을 사용하더라도 실행 결과는 동일하게 나타납니다.
