일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Clean Code
- 스위프트
- swiftUI
- Refactoring
- map
- swift documentation
- rxswift
- HIG
- clean architecture
- 리펙토링
- 리팩토링
- MVVM
- 클린 코드
- combine
- tableView
- 애니메이션
- UITextView
- ribs
- uiscrollview
- SWIFT
- Protocol
- collectionview
- ios
- Observable
- UICollectionView
- uitableview
- 리펙터링
- Xcode
- Human interface guide
- RxCocoa
- Today
- Total
목록UILabel (7)
김종권의 iOS 앱 개발 알아가기
1. lineSpacing, lineHeight 개념 (#baselineOffset) 2. 특정 문자열 사이 간격 조절 방법 (#lineSpacing 고급) 문자열 사이 간격 조절 아이디어 "ABC\n123\ndef"라는 문자열이 있을 때 ABC와 123 사이 간격을 10으로 하고, 123과 def의 간격을 30으로 하고 싶은 경우? lineSpacing은 저번 포스팅 글에서 알아본 대로 라인의 첫번째 문자열 기준으로 lineSpacing이 결정되는 개념을 이용 "ABC"의 lineSpacing을 10으로 설정, "123"의 lineSpacing을 30으로 설정 예제 ex) "ABC\ndef"에서 "ABC"와 "def"사이 간격을 30으로 만들기 적용 전) 적용 후) let text = "ABC\n123..
UIButton 안의 UIImageView, UILabel 사용 시 주의사항 * UIButton하나로 UIButton, UILabel의 inset 다루는 방법은 이전 포스팅 글 참고 시스템 설정에서 볼드체 텍스트 활성화 할 경우 글자가 잘리는 이슈 일반적인 경우 볼드체 텍스트 활성화한 경우 볼드체 텍스트 활성화 왼쪽의 UIImageView가 오른쪽으로 이동하고 오른쪽의 UILabel도 왼쪽으로 이동한 상황 즉 inset 값들이 초기화된 상황 현재까지 전체 코드 import UIKit class ViewController: UIViewController { private let button: RoundableButton = { let button = RoundableButton() // title butt..
기본 개념 NSMutableAttributedString 텍스트 + 속성값을 가지고 있는 인스턴스 속성값: 텍스트 색상, 폰트, 하이퍼링크 등 NSMutableParagraphStyle 텍스트에 속성을 주입할 수 있는 인스턴스 UILabel에 간격 부여 방법 extension UILabel { func setLineSpacing(spacing: CGFloat) { } } text를 생성자로 주입하여 NSMutableAttributedString 인스턴스를 생성 guard let text = text else { return } let attributeString = NSMutableAttributedString(string: text) NSMutableParagraphStyle 인스턴스에 속성을 추가하고..
padding 주는 방법 보통 stackView에 label을 넣을때 UIView를 넣고 그 안에 다시 Label을 넣어서 layout을 조절할 수 있지만, UILabel에 따로 padding값을 주어서 사용 가능 Padding 주는 방법 - drawText(in:)에서 padding값 설정 drawText(in:) 메소드 활용: label의 text값이 그려질때 rect에 관한 값을 수정하고 싶을때 해당 메소드를 override하여 사용 사용 방법은 super.drawText(in:)에 변경된 rect값을 인수로 주어 반영 super를 사용 class BasePaddingLabel: UILabel { private var padding = UIEdgeInsets(top: 16.0, left: 16.0,..
Attributed text 개념 UILabel은 attributedText 프로퍼티를 가지고 소유 이름 그대로 Text에 '속성'값이 존재하는 프로퍼티 UILabel의 text에 font, color같은 속성값을 지정할수 있다는 의미 사용 방법 NSAttributedString 객체를 만들어서 프로퍼티에 대입 let fullText = label.text ?? "" let attribtuedString = NSMutableAttributedString(string: fullText) 대입 하기전에 font, color 속성값을 부여 > font, color속성값을 특정 문자열에 부여하기 위해서는 NSRange값을 이용 let range = (fullText as NSString).range(of: "i..
UIGraphicsEndImageContext사용 UIImageView을 extension하여 구현 func createImageWithLabelOverlay(text: String, isFromCamera: Bool = false) -> UIImage? { let imageSize = self.image?.size ?? .zero UIGraphicsBeginImageContextWithOptions(CGSize(width: imageSize.width, height: imageSize.height), false, 1.0) let currentView = UIView(frame: CGRect(x: 0, y: 0, width: imageSize.width, height: imageSize.height)) ..
오토레이아웃에 의해 내부 UILabel의 문구가 "..."으로 잘리는 현상 해결방법 autoshrink에서 사용 가능 (줄어들을 수 있는 한계치를 설정가능) 0.5배 작아질 수 있는 옵션 선택하여 해결 코드 베이스로 적용하고 싶다면, adjustsFontSizeToFitWidth 사용 label.numberOfLines = 1 label.adjustsFontSizeToFitWidth = true label.minimumScaleFactor = 0.7 // 줄어들수 있는 비율을 의미. 0~1값.