diff --git a/DontBe-iOS/DontBe-iOS/Presentation/Home/ViewControllers/HomeViewController.swift b/DontBe-iOS/DontBe-iOS/Presentation/Home/ViewControllers/HomeViewController.swift index cf8f4b26..1b86944a 100644 --- a/DontBe-iOS/DontBe-iOS/Presentation/Home/ViewControllers/HomeViewController.swift +++ b/DontBe-iOS/DontBe-iOS/Presentation/Home/ViewControllers/HomeViewController.swift @@ -16,6 +16,7 @@ final class HomeViewController: UIViewController { var tabBarHeight: CGFloat = 0 var showUploadToastView: Bool = false private var bottomsheet = HomeBottomsheetView() + private let refreshControl = UIRefreshControl() // MARK: - UI Components @@ -46,6 +47,7 @@ final class HomeViewController: UIViewController { setLayout() setDelegate() setNotification() + setRefreshControll() } // MARK: - TabBar Height @@ -101,6 +103,29 @@ extension HomeViewController { NotificationCenter.default.addObserver(self, selector: #selector(showToast(_:)), name: WriteViewController.showUploadToastNotification, object: nil) } + private func setRefreshControll() { + refreshControl.addTarget(self, action: #selector(refreshPost), for: .valueChanged) + homeCollectionView.refreshControl = refreshControl + refreshControl.backgroundColor = .donGray1 + } + + @objc + func refreshPost() { + DispatchQueue.main.async { + // ✅ 서버 통신 영역 + // + } + self.homeCollectionView.reloadData() + self.perform(#selector(self.finishedRefreshing), with: nil, afterDelay: 0.1) + } + + @objc + func finishedRefreshing() { + refreshControl.endRefreshing() + } + + + @objc func showToast(_ notification: Notification) { if let showToast = notification.userInfo?["showToast"] as? Bool { if showToast == true {