2013-07-31 7 views
5

यह कड़ाई से एक प्रोग्रामिंग प्रश्न नहीं है बल्कि अधिक "यह कैसे पूरा करें" प्रश्न है।लंबन दृश्य स्क्रॉलिंग (याहू मौसम की तरह)

मैं उत्सुक हूं (और एक ऐप पर काम कर रहा हूं जिसके लिए शायद इसकी आवश्यकता होगी) बाएं-दाएं लंबन स्क्रॉलिंग कैसे लागू की जाती है। यह जानने के लिए कि मेरा मतलब क्या है याहू मौसम ऐप की जांच करें (यह मुफ़्त है - वहां कोई चिंता नहीं है)।

क्या वे वहां दिखाए गए प्रत्येक दृश्य के लिए केवल एक दृश्य नियंत्रक या एक अलग नियंत्रक का उपयोग कर रहे हैं?
इसे लागू करने का सबसे आसान तरीका क्या है? मुझे this topic here मिला है जो कि थोड़ी सी बताता है लेकिन उन्हें अपने सर्वर से जानकारी कब मिल रही है? क्या यह विचार बदलते हैं या ऐप के स्टार्टअप पर होते हैं?

ऐसी स्क्रॉलिंग को कार्यान्वित करने के लिए कोई भी जानकारी बहुत सराहना की जाएगी।

उत्तर

5

यह वास्तव में बहुत सरल है:

  • उपवर्ग UIScrollView
  • एक UIView * parallaxView जोड़ें; @property
  • के रूप में एक CGFloat parallaxFactor @property
  • अवहेलना layoutSubviews
  • कॉल सुपर के रूप में, और उसके बाद self.scrollOffset * parallaxFactor का उपयोग parallaxView

यह है कि स्थिति के लिए!

मैंने एक बहुआयामी UIScrollView सबक्लास स्वयं बनाया है जो इस मामले के लिए बिल्कुल सही है, उपयोग करने में आसान है! इसे गिटहब पर प्राप्त करें: https://github.com/LeonardPauli/LPParallaxScrollView

शुभकामनाएँ!

+0

हां, ठीक है, यह वास्तव में दृश्यमान भाग को संभालता है। लेकिन कार्यक्षमता के बारे में कैसे? उदाहरण के लिए यदि उपयोगकर्ता मौसम अपडेट करना चाहता है तो वह दृश्य को नीचे खींचता है और यह नवीनतम मौसम जानकारी के साथ ताज़ा हो जाता है। मुझे संदेह है कि वे यह निर्धारित करने के लिए 'if' का उपयोग करते हैं कि कौन सा दृश्य प्रस्तुत किया गया है। कोई विचार? – Majster

+0

सरल गणित! जल्द ही .. –

+0

मैंने कुछ समय पहले ओपन-सोर्स किया था! https://github.com/LeonardPauli/MYParallaxScrollView बस parallaxView.currentPageIndex का उपयोग करें :) लेकिन इससे भी बेहतर, प्रत्येक पृष्ठ के लिए एक अलग लंबवत (सरल ब्लॉक के लिए लंबन) स्क्रॉलव्यू का उपयोग करें, वहां पुनः लोड के साथ। (इशारा पहचानकर्ताओं को एक-दूसरे को सही करने के लिए मत भूलना): डी –

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