5

मेरे पास एक कस्टम क्षैतिज संग्रह दृश्य है जिसमें 1 पंक्ति है और मैं कार्यक्षमता को रीफ्रेश करने के लिए पुल जोड़ना चाहता हूं, डिफ़ॉल्ट रूप से, मेरी कोशिकाओं की पंक्ति से ऊपर दिखाई देता है। मैं चाहता हूं कि उपयोगकर्ता UIRefreshControl को सक्रिय करने के लिए संग्रह दृश्य को बाएं से दाएं खींचने में सक्षम हो। कोई विचार?क्षैतिज UICollectionView UIRefreshControl

अग्रिम धन्यवाद।

उत्तर

1

इसके लिए आपको UIScrollViewDelegate विधि

- (void)scrollViewDidScroll:(UIScrollView *)scrollView { 
    CGPoint offset = scrollView.contentOffset; 
    CGRect bounds = scrollView.bounds; 
    CGSize size = scrollView.contentSize; 
    UIEdgeInsets inset = scrollView.contentInset; 
    float y = offset.x + bounds.size.width - inset.right; 
    float h = size.width; 


    float reload_distance = 75; //distance for which you want to load more 
    if(y > h + reload_distance) { 
     // write your code getting the more data 
     NSLog(@"load more rows"); 

    } 
} 
+0

उपरोक्त कोड के लिए धन्यवाद। बस यह उल्लेख करना चाहते हैं कि जब आप अपने स्क्रॉलिंग टेबलव्यू/संग्रहदृश्य के अंत तक पहुंचने के बाद अधिक डेटा लोड करना चाहते हैं, तो शीर्ष पर नहीं। – hyd00

5

मूल रूप से ऊपर प्रतिक्रिया आपको बताता है कि एक UICollectionView में और अधिक एक लोड ऑब्जेक्टिव-सी में करने के लिए लागू करने के लिए की जरूरत है। हालांकि, मेरा मानना ​​है कि प्रश्न उस घटक पर क्षैतिज रूप से ताज़ा करने के लिए खींचने के लिए कैसे था।

मैं तुम्हें एक UIRefreshControl क्षैतिज जोड़ सकते हैं लेकिन ध्यान में पिछले कोड लेने और स्विफ्ट में रूपांतरण बनाने मैं के बाद एक

न भूलें अपने UICollectionView उछाल गुण सेट करने के लिए के साथ आया नहीं लगता कि सही

func scrollViewDidScroll(scrollView: UIScrollView) { 
    let offset = scrollView.contentOffset 
    let inset = scrollView.contentInset 
    let y: CGFloat = offset.x - inset.left 
    let reload_distance: CGFloat = -75 
    if y < reload_distance{ 
     scrollView.bounces = false 
     UIView.animateWithDuration(0.3, animations: {() -> Void in 
      scrollView.setContentOffset(CGPointMake(0, 0), animated: false) 
     }, completion: { (Bool) -> Void in 
      scrollView.bounces = true 
     }) 
    } 
} 

भी और व्यवस्था निरंतर खींच के साथ मुद्दों से बचने के लिए मैं अस्थायी रूप से उछल दूर करने के लिए कुछ कोड जोड़ा, डी स्क्रॉल सही करने के लिए वापस और फिर चेतन फिर से उछल सक्षम करने से। इससे आपको यूरीफ्रेश कंट्रोल के समान प्रभाव मिलेगा।

अंत में, यदि आप एक लोडिंग आइकन मेरी सुझाव नियंत्रक के पीछे इसे जोड़ने के लिए है करना चाहते हैं तो जब आप खींच आप इसके पीछे

1

बस जूलियो Bailon का जवाब है, जो काम करता है की Obj सी संस्करण जोड़ देख सकते हैं संग्रह को खींचने के लिए अपने शीर्ष यानी बाएं से दाएं

CGPoint offset = scrollView.contentOffset; 
    CGRect bounds = scrollView.bounds; 
    CGSize size = scrollView.contentSize; 
    UIEdgeInsets inset = scrollView.contentInset; 
    float y = offset.x - inset.left; 
    float h = size.width; 


    float reload_distance = -75; //distance for which you want to load more 
    if(y < reload_distance) { 
     // write your code getting the more data 
     NSLog(@"load more rows"); 

    }