Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 리팩토링
- MVVM
- Xcode
- 리펙토링
- uiscrollview
- Clean Code
- clean architecture
- UITextView
- tableView
- swiftUI
- Protocol
- 리펙터링
- HIG
- 클린 코드
- ribs
- uitableview
- SWIFT
- UICollectionView
- 스위프트
- collectionview
- Refactoring
- map
- Human interface guide
- rxswift
- ios
- swift documentation
- RxCocoa
- combine
- Observable
- 애니메이션
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[iOS - swift] \u{200B} 문자열 (Zero Width Space) 본문
Zero Width Space
- "\u{200B}" 문자는 "zero width space"라고 불리며, 문자열은 있지만 너비의 크기가 0인 문자
- ex) 두 개의 UITextField에 placeholder 텍스트를 지정하고, text 값에는 각각 ""와 "\u{200B}"를 입력한 상태
private let textField1 = {
let textField = UITextField()
textField.font = .systemFont(ofSize: 24, weight: .regular)
textField.text = ""
textField.textColor = .black
textField.placeholder = "placeholder (empty spacing)"
return textField
}()
private let textField2 = {
let textField = UITextField()
textField.font = .systemFont(ofSize: 24, weight: .regular)
textField.text = "\u{200B}"
textField.placeholder = "placeholder (200B)"
textField.textColor = .black
return textField
}()
("" 문자는 placeholder가 표시되고, "\u{200B}"는 placeholder표시 x)
- count값을 보면 empty string은 0이 나오고, "\u{200B}"은 1로 출력
print(textField1.text!.count, textField2.text!.count)
print(textField1.text!.utf16Count, textField2.text!.utf16Count)
/*
0 1
0 1
*/
extension String {
var utf16Count: Int {
utf16.count
}
}
- textField.text = "A\u{200B}B"라고 입력하면 \u{200B}영역은 길이가 0이므로 없는것처럼 출력
textField.text = "A\u{200B}B"
- (만약 UITextView에 커스텀 placeholder 같은것을 만들때 empty spacing을 주어 placholder 구분을할때 용이)
* 참고
'iOS 응용 (swift)' 카테고리의 다른 글
[iOS - swift] NSRange 개념 (location, length) (0) | 2023.10.28 |
---|---|
[iOS - swift] Protocol 확장에서 프로퍼티 치환 방법, 프로토콜 프로퍼티 이름 중복 해결 (#@_implements) (0) | 2023.10.26 |
[iOS - swift] 2. 특정 문자열 사이 간격 조절 방법 (#lineSpacing 고급) (2) | 2023.10.24 |
[iOS - swift] 1. lineSpacing, lineHeight 개념 (#baselineOffset) (2) | 2023.10.23 |
[iOS - swift] 함수 대신 closure를 사용하여 간결한 코드 유지하기 (4) | 2023.10.22 |
Comments