일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- collectionview
- ios
- swiftUI
- SWIFT
- ribs
- 클린 코드
- Clean Code
- 애니메이션
- Refactoring
- UITextView
- uiscrollview
- rxswift
- HIG
- 스위프트
- tableView
- UICollectionView
- 리팩토링
- map
- Xcode
- Protocol
- clean architecture
- 리펙토링
- uitableview
- Observable
- 리펙터링
- RxCocoa
- swift documentation
- MVVM
- Human interface guide
- combine
- 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..