2012-06-20 16 views
5

को छूने पर नीचे कूदता है मेरे पास दो UIScrollViews, एक क्षैतिज, एक लंबवत, दोनों दो पृष्ठ होते हैं (जैसा कि क्षैतिज एक दो पृष्ठ चौड़ा है, और लंबवत एक दो पृष्ठ ऊंचा है)। क्षैतिज स्क्रॉलव्यू लंबवत में है। मैं Calcbot के डिज़ाइन की नकल करने की कोशिश कर रहा हूं, जहां आप बटन के लिए बाएं/दाएं स्क्रॉल कर सकते हैं और इतिहास के लिए ऊपर/नीचे स्क्रॉल कर सकते हैं।UIScrollView पहली बार

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

-(void)viewDidLoad { 
horizontalScrollView.pagingEnabled = YES; 
verticalScrollView.pagingEnabled = YES; 


horizontalScrollView.contentSize = CGSizeMake(horizontalScrollView.bounds.size.width * 2, horizontalScrollView.bounds.size.height); // 2 pages wide. 
verticalScrollView.contentSize = CGSizeMake(verticalScrollView.bounds.size.width, verticalScrollView.bounds.size.height * 2); 


horizontalScrollView.delegate = self; 
verticalScrollView.delegate = self; 




[verticalScrollView addSubview:horizontalScrollView]; 

[verticalScrollView setContentOffset:CGPointMake(0, 640)]; 

[self.view addSubview:verticalScrollView]; 

horizontalScrollView.frame = CGRectMake(0, 540, 320, 460); 

} 

धन्यवाद:

यहाँ viewDidLoad के लिए मेरे कोड है।

उत्तर

4

कूद देखने के आम तौर पर जब आप निर्धारित किया है pagingEnabled = हाँ और contentOffset एक स्थिति है जो करने के लिए सेट कर दिया जाता होता है पृष्ठ सीमा पर नहीं (bounds.size.height द्वारा विभाजित)।

+0

मैंने सामग्री को ऑफसेट को 380 में बदल दिया और यह काम किया। धन्यवाद। –

+1

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

+0

हे @patridge क्या आप कृपया अपनी टिप्पणी समझा सकते हैं .. मुझे एक ही समस्या है। – Mystery

0

बस एक त्वरित विचार क्योंकि मैं वर्तमान में UIScrollView के साथ गड़बड़ कर रहा हूं। आप -(void)viewWillAppear:(BOOL)animated का उपयोग करने का प्रयास कर सकते हैं। जैसे मैंने उस विधि में अपना न्यूनतम और अधिकतम स्क्रॉलिंग सेट की है क्योंकि यह उस सामग्री के आकार पर निर्भर करता है, जो मैंने पढ़ा है, व्यूविल्लएपियर तक सेट नहीं है।

+0

धन्यवाद, लेकिन मैंने अभी यह कोशिश की, और ऐसा कुछ भी नहीं दिख रहा है। –

0

ले जाएँ इस लाइन

horizontalScrollView.frame = CGRectMake(0, 540, 320, 460); 

viewDidLoad के बजाय viewWillAppear में, अगर यह UIScrollView में काम करता है

+0

दुर्भाग्यवश, यह अभी भी उससे अधिक दिखाई देता है। सुझाव के लिए धन्यवाद, यद्यपि। –

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