일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- RxCocoa
- Observable
- MVVM
- SWIFT
- 리펙토링
- ribs
- collectionview
- combine
- UITextView
- Refactoring
- Protocol
- map
- swiftUI
- 스위프트
- Human interface guide
- swift documentation
- rxswift
- uitableview
- UICollectionView
- 클린 코드
- uiscrollview
- ios
- 리펙터링
- tableView
- HIG
- Xcode
- 리팩토링
- clean architecture
- 애니메이션
- Today
- Total
목록로딩 뷰 (4)
김종권의 iOS 앱 개발 알아가기
* 이미지를 이용한 방법은 이전 포스팅 글 참고 구현 아이디어 UIBezierPath를 통해서 동그란 layer 그리기 layer의 lineWith를 1보다 크게하여 테두리를 만들고 이 테두리의 색상(strokeColor)은 blue, 내부에 채워지는 색상(fillColor)은 clear로 설정 테두리가 꽉차 있으면 안되고 중간이 뚫려 있어야 하므로 strokeStart를 0.2정도로 설정하여 20%는 비어지도록 설정 이 뷰를 CABasicAnimation의 transform.rotation을 사용하여 효과를 주면 완성 구현 LoadingView 정의 final class LoadingView: UIView { init() { super.init(frame: .init(origin: .zero, size..
* 이미지 없이 직접 구현하는 방법은 이전 포스팅 글 참고 회전 indicator 구현 아이디어 indicator 이미지를 준비 indicator이미지를 CABasicAnimation의 transform.rotation을 이용하여 이미지를 회전시켜서 구현 구현 assets에 indicator 이미지 준비 ViewController에 UIImageView 준비 import UIKit class ViewController: UIViewController { private let loadingImageView = UIImageView(image: UIImage(named: "loading")) } UIImageView를 화면 정 중앙에 위치 override func viewDidLoad() { super.vi..
프레임워크 SkeletonView pod 'SkeletonView' 코드로 UI 작성에 편리를 위해 사용한 프레임워크 pod 'Then' pod 'SnapKit' Label 2개에 SkeletonView 적용 방법 적용하려는 View에 isSkeletonView = true로 skeleton 활성화 import SkeletonView ... label1.isSkeletonable = true label2.isSkeletonable = true label1과 label2의 superView에도 isSkeletonable = true 활성화 self.view.isSkeletonable = true SkeletonView 프레임워크는 superview.showSkeleton()하면 subview들도 모..
UIActivityIndicatorView를 상속받아서 구현 로딩중이면 다른 화면의 UI가 눌려지지 않도록 구현 중앙에 표출 구현 사용 시 매번 객체생성이 필요 없으므로 static으로 사용할 수 있게끔 선언 class LoadingIndicator { static func showLoading() { DispatchQueue.main.async { // ... } } static func hideLoading() { DispatchQueue.main.async { // ... } } } showLoading 구현 최상단에 있는 window 객체 획득 window의 subviews들 중 마지막에 있는 화면이 UIActivityIndicatorView면 그대로 사용하고, 아닐 경우 객체를 새로 생성 UIA..