일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Protocol
- Refactoring
- 리펙터링
- uitableview
- 애니메이션
- RxCocoa
- Human interface guide
- Clean Code
- UITextView
- tableView
- SWIFT
- combine
- 클린 코드
- swift documentation
- ribs
- Observable
- ios
- 리펙토링
- collectionview
- 리팩토링
- clean architecture
- Xcode
- MVVM
- swiftUI
- 스위프트
- UICollectionView
- map
- rxswift
- uiscrollview
- HIG
- Today
- Total
목록NSMutableAttributedString (4)
김종권의 iOS 앱 개발 알아가기
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Fm1az/btsq8H7tfk5/jghdovPeB3kd5akaL8K3pk/img.png)
NSAttributedString과 NSMutableAttriubtedString 차이점 AttributedString 이란? AttributedString은 내부적으로 guts라는 인스턴스가 String 타입을 받아서 String에 속성을 부여하여 사용할 수 있도록 구현해 놓은 것 즉, String을 wrapping하여 단순 text에 색깔, 폰트와 같은 속성을 입힐 수 있도록 한 것 (구체적인 구현부는 swift-foundation 코드 참고) 초기화하고 값을 바꿀수 있다면 NSMutableAttributedString, 초기화 이후 값을 변경할 수 없다면 NSAttributedString 사용 NSAttributedString 예제) let attributes: [NSAttributedString...
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/5PT4p/btrtH1pHykp/xHT7y1F2bZPfMjFTXQQYS1/img.png)
UITextView에서 링크 걸기 dataDetectorTypes = .link 옵션을 주어서 링크 활성화 isEditable도 false로 설정하면, text에 링크가 있으면 자동으로 링크가 자동으로 설정 private lazy var textView: UITextView = { let view = UITextView() view.text = "링크: https://ios-development.tistory.com/" view.dataDetectorTypes = .link view.isEditable = false return view }() 클릭하면 자동으로 safari로 이동 하이퍼 링크로 이동될 때 따로 `UIApplication.shared.open(url)`와 같은 코드가 필요 없는 장점이 존..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/G8g8y/btriBdVzTzA/pXjqW5uNohAhkzKKQNkpi0/img.png)
기본 개념 NSMutableAttributedString 텍스트 + 속성값을 가지고 있는 인스턴스 속성값: 텍스트 색상, 폰트, 하이퍼링크 등 NSMutableParagraphStyle 텍스트에 속성을 주입할 수 있는 인스턴스 UILabel에 간격 부여 방법 extension UILabel { func setLineSpacing(spacing: CGFloat) { } } text를 생성자로 주입하여 NSMutableAttributedString 인스턴스를 생성 guard let text = text else { return } let attributeString = NSMutableAttributedString(string: text) NSMutableParagraphStyle 인스턴스에 속성을 추가하고..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/1hbQr/btqZdmchFO9/d5KWj7q9Pqu42QJdKsZ2gK/img.png)
변환형 - 특정 문자열을 입력하면 그 문자열만 bold로 바꾸는 방법 UILabel extension으로 정의 extension UILabel { func bold(targetString: String) { let fontSize = self.font.pointSize let font = UIFont.boldSystemFont(ofSize: fontSize) let fullText = self.text ?? "" let range = (fullText as NSString).range(of: targetString) let attributedString = NSMutableAttributedString(string: fullText) attributedString.addAttribute(.font, va..