[iOS] 글자 단위로 줄바꿈하기 (word-break)

Sehee·2024년 6월 24일

iOS 개발하기

목록 보기
6/16
post-thumbnail

시작하면서,

css로는 간단히 word-break: break-all로 끝나는 스타일이다
swiftUI에서는 딱히 써본 적 없는 것 같아서, 이 참에 찾아서 써봤다


글자 단위로 줄바꿈하기

사용하기

원하는 글자에 빈 문자열로 split하고 u{200B}를 구분자로 다시 합치면 된다고 한다

Text(text.split(separator: "").joined(separator: "\u{200B}"))

그러면 아래처럼 모든 게 다 분리되어(?) 줄바꿈된다

U 200B란?

What is the U 200B character?
The zero-width space character is encoded in Unicode as U+200B ZERO WIDTH SPACE, and input in HTML as ​ , ​ or ​

설명을 찾아보니, 너비가 0인 공백 문자는 유니코드에서 U+200B ZERO WIDTH SPACE로 인코딩되고 HTML에서는 &ZeroWidthSpace로 입력된다고 한다

extension으로 관리하기

extension으로 분리하여 관리하면, 이곳저곳에서 가져다쓰기 편하다

extension String {
    func splitChar() -> String {
        return self.split(separator: "").joined(separator: "\u{200B}")
    }
}

사용법

Text(text.splitChar())

마치며,

css 생각보다 좋은 스타일 시트였다...

profile
디자인하는 개발자

0개의 댓글