2010-08-20 11 views
9

मैंने इस के लिए एक ट्यूटोरियल खोजा और खोजा है लेकिन उनमें से कोई भी मैं नहीं ढूंढ रहा हूं। मैंने ऐप्पल के नमूने की कोशिश की है लेकिन यह सिर्फ रंग है और मुझे नहीं पता कि इसे कैसे देखना है। मैं जो कुछ ढूंढ रहा हूं वह एक स्क्रीन है जो पृष्ठ नियंत्रण दिखाते समय पेज करेगा। प्रत्येक बार स्क्रॉल व्यू पेज मैं चाहता हूं कि यह एक पूरी तरह से अलग दृश्य दिखाए। अलग-अलग पाठ या छवियां नहीं बल्कि एक अलग दृश्य। आईफोन या ईएसपीएन स्कोर सेंटर एप की होम स्क्रीन की तरह। कृपया सहायता कीजिए! धन्यवाद।विभिन्न दृश्य दिखाने के लिए आप UIPcrollview के साथ UIScrollview को कैसे जोड़ते हैं?

उत्तर

4

इस ढांचे को आजमाएं: https://github.com/AdrianFlorian/AFImageViewer वर्तमान पृष्ठ को इंगित करने के लिए पृष्ठ नियंत्रण का उपयोग करके स्क्रॉल व्यू में छवियों को प्रस्तुत करने के लिए।

मैंने अभी तक दस्तावेज़ों को जोड़ा नहीं है, लेकिन यदि आप प्रोजेक्ट को क्लोन करते हैं तो आप उदाहरण देख सकते हैं।

आप आसानी से कर सकते हैं: - केवल यूआरएल (छवि यूआरएल) की एक सरणी देकर एक अलग थ्रेड में इंटरनेट से डाउनलोड छवियों - यह UIImage की एक सरणी देना वस्तुओं - एक प्रतिनिधि को लागू करने और प्रत्येक के लिए छवि का प्रबंधन पेज स्वयं

16

मैंने इस सार्वभौमिक समाधान को बनाया क्योंकि उदाहरण पाए गए जटिल हैं और यह मेरे लिए पठनीय है, कोड स्वयं स्पष्टीकरण होना चाहिए।

- (IBAction)changePage:(id)sender { 
    _pageControlUsed = YES; 
    CGFloat pageWidth = _scrollView.contentSize.width /_pageControl.numberOfPages; 
    CGFloat x = _pageControl.currentPage * pageWidth; 
    [_scrollView scrollRectToVisible:CGRectMake(x, 0, pageWidth, _scrollView.frame.size.height) animated:YES]; 
} 

- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView { 
    _pageControlUsed = NO; 
} 

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView { 
    if (!_pageControlUsed) 
      _pageControl.currentPage = lround(_scrollView.contentOffset.x/
      (_scrollView.contentSize.width/_pageControl.numberOfPages)); 
} 
+0

असल में, @ डैटिंक के उत्तर पर देखें। बहुत साफ और सरल। – eric

+0

@ रेने दोहान क्लिक परिवर्तन पर समान प्रभाव कैसे प्राप्त करें पेज और स्क्रॉलव्यूडिड एंड डिस्सेलरेटिंग। स्क्रॉल पर छवियों के ज़िप ज़िप आंदोलन ने पृष्ठ नियंत्रण पर क्लिक किया है। – kiran

+0

@ रेनेडोहन बिल्कुल! मुझे एसओ के बारे में प्यार है! मैंने केवल दूसरे समाधान को इंगित किया क्योंकि आपके पास इतने सारे वोट थे, और आईएमएचओ का नया जवाब बेहतर था। :-) – eric

14

यह चर के लिए की जरूरत स्टोर करने के लिए राज्य

- (IBAction)changePage:(id)sender { 
    CGFloat x = self.pageControl.currentPage * self.scrollView.frame.size.width; 
    [self.scrollView setContentOffset:CGPointMake(x, 0) animated:YES]; 
} 

- (void)scrollViewDidScroll:(UIScrollView *)scrollView { 
    if (scrollView.isDragging || scrollView.isDecelerating){ 
     self.pageControl.currentPage = lround(self.scrollView.contentOffset.x/(self.scrollView.contentSize.width/self.pageControl.numberOfPages)); 
    } 
} 
+0

गुच्छा का सबसे साफ विकल्प, धन्यवाद – eric

+0

वाहवाही! जब मैंने स्क्रॉल व्यू प्रतिनिधि को व्यू कंट्रोलर से कनेक्ट किया तो यह मेरे लिए काम करता था। –

संबंधित मुद्दे