2010-07-12 14 views
11

मैं अपना पहला आईफोन ऐप विकसित कर रहा हूं और मैं आपकी समस्या पर लड़के के इनपुट की बहुत सराहना करता हूं।आईफोन - क्षैतिज पेजिंग और लंबवत स्क्रॉलिंग के लिए Nesting UIScrollViews

मैं दोनों क्षैतिज और लंबवत स्क्रॉलिंग को लागू करने के लिए देख रहा हूं। मैं क्षैतिज स्क्रॉलिंग को पग किया जाना चाहता हूं, ऊर्ध्वाधर एक को पगड़ने के बिना (सामान्य रूप से स्क्रॉल करना ")। पेजिंग के साथ एक एकल UIScrollView सक्षम YES पर सेट दोनों दिशाओं में पृष्ठ होगा। प्राकृतिक समाधान किसी अन्य के अंदर UIScrollView घोंसला करना होगा, हालांकि जब मैं ऐसा करता हूं, तो मुझे स्क्रॉल करने के लिए "आंतरिक" UIScrollView नहीं मिल सकता है। लगता है बाहरी एक "खाने" में की तरह सभी नल घटनाओं, ऊपर:

UIScrollView : paging horizontally, scrolling vertically?

मैं के बारे में "आंतरिक स्क्रॉलिंग" कुछ पढ़ा एसडीके 3.0 में पर सुधार किया जा रहा है और वास्तव में जब मैं बजाय एक आंतरिक UITableView जोड़ने एक UIScrollView स्क्रॉलिंग बेकार ढंग से काम करता है। चूंकि UITableView उपclasses UIScrollView मुझे लगता है कि मेरा वांछित व्यवहार UIScrollView का अपना उप-वर्ग बनाकर प्राप्त किया जाना चाहिए।

क्या यह सही दृष्टिकोण है? यदि हां, तो यह सबक्लास कैसा दिखना चाहिए?

उत्तर

9

यह अब एसडीके के साथ बॉक्स से बाहर काम करता है। प्रत्येक पृष्ठ के लिए दृश्य नियंत्रक के साथ पेजेड क्षैतिज स्क्रॉलिंग को कार्यान्वित करने के तरीकों के लिए Scrolling Madness और Apple's UIPageControl sample देखें।

आपके बाहरी UIScrollView में उपविजे के रूप में जोड़े गए नेस्टेड यूआईएसक्रॉल व्यू को कंटेनर के समान फ्रेम ऊंचाई होना चाहिए। यदि आप ऐसा करते हैं तो बाहरी UIScrollView उपरोक्त में लंबवत स्क्रॉलिंग ईवेंट से गुज़र जाएगा। मेरे ऐप में UIScrollView और UIWebView घोंसले के तीन स्तर हैं और मुझे पता चला है कि कोको वास्तव में उन घटनाओं को पार करने के बारे में बुद्धिमान है जब तक कि मैं अपने फ्रेम आकार निर्धारित करता हूं ताकि केवल एक दृश्य वास्तव में स्क्रॉल करने योग्य (सामग्री आकार> फ्रेम) हो प्रत्येक अक्ष।

+0

इसके लिए धन्यवाद। यह वास्तव में बॉक्स से बाहर काम करता है। मुझे विश्वास है कि आपके लंबवत स्क्रॉलिंग पृष्ठों का शीर्ष स्तर दृश्य UIScrollView होना चाहिए। प्रारंभ में, मेरे पास UIView के तहत मेरा वर्टिकल स्क्रोलर था और यह वांछित के रूप में काम नहीं करता था। सामग्री को सेट करने के लिए भी याद रखें अपने लंबवत स्क्रॉलर्स का आकार बदलें। – user621267

0

मैं महीनों के लिए एंड्री Tarantsov द्वारा इस महान lib उपयोग कर रहे हैं: SoloComponents

आप इसे पृष्ठांकन और देखने रीसाइक्लिंग के लिए समर्थन के साथ एक "क्षैतिज UITableView" के रूप में उपयोग कर सकते हैं। अच्छी तरह से बनाई गई और पूरी तरह से कोको शैली तैयार की गई।

0

डिलन के उत्तर के आधार पर, मेरे मामले में, मुझे वास्तव में वर्चुअल रूप से स्क्रॉल करने के लिए नेस्टेड UIScrollView को बनाने के लिए माता-पिता और नेस्टेड UIScrollViews दोनों के लिए सामग्री आकार की ऊंचाई बराबर बनाना पड़ता था। डाइलन समझाया गया था, केवल "समान फ्रेम ऊंचाई" बनाना:

parentScrollView.contentSize = CGSizeMake(parentScrollView.contentSize.width, desiredContentHeight); 
nestedScrollView.contentSize = CGSizeMake(nestedScrollView.frame.size.width, desiredContentHeight); 
संबंधित मुद्दे