Skip to content

Commit 9c02b29

Browse files
committed
feat : 좌우 스와이프 가이드 애니메이션 추가 #7
- 앱 실행마다 가이드 애니메이션이 첫 한번만 보이도록 UserDefault 에 저장
1 parent 40bd54c commit 9c02b29

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

Particle/Particle/Entry/AppDelegate.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
3838
return
3939
}
4040
}
41+
42+
UserDefaults.standard.set(false, forKey: "ShowSwipeGuide")
4143

4244
return true
4345
}

Particle/Particle/Main/HomeTab/AddArticle/SelectSentence/SelectSentenceViewController.swift

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,15 @@ final class SelectSentenceViewController: UIViewController, SelectSentencePresen
107107
setupInitialView()
108108
}
109109

110+
override func viewDidAppear(_ animated: Bool) {
111+
super.viewDidAppear(animated)
112+
guard let alreadyShow = UserDefaults.standard.object(forKey: "ShowSwipeGuide") as? Bool,
113+
alreadyShow == false else {
114+
return
115+
}
116+
showSwipeGuide()
117+
}
118+
110119
private func setupInitialView() {
111120
view.backgroundColor = .black
112121
addSubviews()
@@ -146,15 +155,21 @@ final class SelectSentenceViewController: UIViewController, SelectSentencePresen
146155
return
147156
}
148157
let imageRequestHandler = VNImageRequestHandler(ciImage: ciImage, options: [:])
158+
private func showSwipeGuide() {
149159

150160
let request = VNRecognizeTextRequest { [weak self] (request, error) in
151161
guard error == nil else {
152162
Console.error(error?.localizedDescription ?? "VNRecognizeTextRequestError")
153163
return
154164
}
165+
UIView.animate(withDuration: 0.8, delay: 0.0, options: [.curveEaseOut]) { [weak self] in
166+
self?.selectedPhotoCollectionView.contentOffset.x = 70
167+
} completion: { _ in
155168

156169
guard let observations = request.results as? [VNRecognizedTextObservation] else {
157170
return
171+
UIView.animate(withDuration: 0.2, delay: 0.0, options: [.curveEaseInOut]) { [weak self] in
172+
self?.selectedPhotoCollectionView.contentOffset.x = 1
158173
}
159174
for observation in observations {
160175

@@ -182,6 +197,7 @@ final class SelectSentenceViewController: UIViewController, SelectSentencePresen
182197
} catch let error {
183198
Console.error(error.localizedDescription)
184199
}
200+
UserDefaults.standard.set(true, forKey: "ShowSwipeGuide")
185201
}
186202

187203
// MARK: - SelectSentenceViewControllable

0 commit comments

Comments
 (0)