css로는 간단히 word-break: break-all로 끝나는 스타일이다
swiftUI에서는 딱히 써본 적 없는 것 같아서, 이 참에 찾아서 써봤다
원하는 글자에 빈 문자열로 split하고 u{200B}를 구분자로 다시 합치면 된다고 한다
Text(text.split(separator: "").joined(separator: "\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 String {
func splitChar() -> String {
return self.split(separator: "").joined(separator: "\u{200B}")
}
}
사용법
Text(text.splitChar())
css 생각보다 좋은 스타일 시트였다...