अद्यतन:

मेरा मानना ​​​​है कि सेब के दस्तावेज़ीकरण में निम्न पंक्ति को देखते हुए यह संभव नहीं हो सकता है:

जब उपयोगकर्ता स्क्रॉल करने योग्य सामग्री क्षेत्र के शीर्ष को नीचे की ओर खींचता है

यहां मिला।

अगर ऐसा करने का कोई तरीका है तो मुझे बताएं।


मैं इसे बनाने की कोशिश कर रहा हूं ताकि जब उपयोगकर्ता एक संग्रह दृश्य में बाईं ओर स्वाइप करें (जिस तरह से आप टेबल व्यू के साथ कई ऐप्स में स्वाइप करते हैं) तो यह एक लोडिंग आइकन दिखाएगा और डेटा पुनः लोड करेगा (पुनः लोड डेटा भाग मैं स्वयं को संभाल सकता हूं) .

मैं इसका पता कैसे लगा सकता हूं ताकि मैं एक reloadData() विधि को कॉल कर सकूं?

नोट: मैं एक UICollectionView का उपयोग कर रहा हूं जिसमें केवल एक कॉलम और x पंक्तियां हैं। पहले सेल में यदि उपयोगकर्ता बाईं ओर स्वाइप करता है तो उसे लोडिंग आइकन दिखाना चाहिए और डेटा पुनः लोड करना चाहिए।

मैं पुनः लोड करने के उद्देश्य से बाईं ओर स्लाइड का पता लगाने का एक तरीका ढूंढ रहा हूं।

मैंने क्या प्रयास किया है:

    let refreshControl = UIRefreshControl()

override func viewDidLoad() {
    super.viewDidLoad()
    viewDidLoadMethods()
    refreshControl.tintColor = .black
    refreshControl.addTarget(self, action: #selector(refresh), for: .valueChanged)
    collectionView.addSubview(refreshControl)
    collectionView.alwaysBounceHorizontal = true

लेकिन यह केवल लंबवत काम करता है।

0
user11182243 16 जून 2019, 00:31

1 उत्तर

सबसे बढ़िया उत्तर

मैंने इस समस्या को निम्नलिखित के साथ हल किया है, लेकिन मुझे ध्यान रखना चाहिए कि कोई डिफ़ॉल्ट फ़्यूक्शनलिटी नहीं है जैसे लंबवत रीफ्रेश के लिए है:

 func scrollViewDidScroll(_ scrollView: UIScrollView) {
    let offset = scrollView.contentOffset
    let inset = scrollView.contentInset
    let y: CGFloat = offset.x - inset.left
    let reload_distance: CGFloat = -80

    if y < reload_distance{
        shouldReload = true
    }
}

func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
    if let _ = scrollView as? UICollectionView {

        currentlyScrolling = false

        if shouldReload {
            baseVC.showReloading()
            reloadCollectionView()
        }
    }
 }
1
19 जून 2019, 03:46