반응형
Bullet String 적용하기
점 넣고 들여쓰기 해주는 방법 !
1. NSAttributedString 에 extension으로 원하는 값들을 설정해준다.
extension NSAttributedString {
static func makeBulletList(
strings: [String],
color: UIColor = MacaColors.gray500,
font: UIFont = Fonts.AppleRegular.of(size: 14),
indentation: CGFloat = 15,
lineSpacing: CGFloat = 4,
paragraphSpacing: CGFloat = 2
) -> NSAttributedString {
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.defaultTabInterval = indentation
paragraphStyle.tabStops = [NSTextTab(textAlignment: .left, location: indentation)]
paragraphStyle.lineSpacing = lineSpacing
paragraphStyle.paragraphSpacing = paragraphSpacing
paragraphStyle.headIndent = indentation
let bulletList = NSMutableAttributedString()
for string in strings {
let attributedString = NSMutableAttributedString(string: string)
attributedString.addAttributes(
[.paragraphStyle: paragraphStyle, .font: font, .foregroundColor: color],
range: NSMakeRange(0, attributedString.length)
)
bulletList.append(attributedString)
}
return bulletList
}
}
2. String 배열로 텍스트 설정
let writeStory: [String] = [
"\u{2022} 여기에 내용을 입력해주세요.\n",
"\u{2022} 전문답변을 받고 싶다면 고민을 자세히 적어주세요.\n",
"\u{2022} 해시태그를 넣으면 글을 더 쉽게 찾을 수 있어요.\n",
"\u{2022} 닉네임 비공개, 전문답변 받지 않기 등은 [설정] 톱니바퀴 아이콘을 눌러 선택할 수 있어요."
]
3. UILabel 에 적용
myLabel.attributedText = .makeBulletList(strings: writeStory)
이렇게 해주면 다음과 같이 bullet string 이 적용된 텍스트를 간단하게 만들어줄 수 있따 😊
참고 : https://stackoverflow.com/questions/5533851/format-uilabel-with-bullet-points
728x90
반응형
'초보 iOS 개발자의 일상 > 개발 업무' 카테고리의 다른 글
[긴급🚨] Privacy Manifest 추가하기 (0) | 2024.04.03 |
---|---|
[iOS] 네트워크 속도 제어 (iPhone & Mac) (0) | 2024.01.25 |
[Swift iOS] circular progress bar 원형 프로그래스 바 만들기 (feat. UIBezierPath) (0) | 2023.11.03 |
iOS 17 대응 - 컬렉션뷰 이슈 (0) | 2023.09.27 |
[Swift iOS] Set gradient 그라디언트 뷰 적용하는 법 (+ 안뜰때!!) (1) | 2023.06.28 |