2011-08-09 13 views
16

के साथ बाउंस अक्षम नहीं कर सकता है मेरे पास UIViewController है जो UIScrollView इसके अंदर है।UIScrollView और pagingEnabled = YES

m_scrollView प्रत्येक "पेज" मुझे लगता है कि प्रदर्शन लेख UIViewController है पर pagingEnabled=YES;

के साथ है।

उछाल को रोकने के लिए जब पृष्ठ दर पृष्ठ उपयोगकर्ता कड़ी चोट मैं प्रयोग किया है:

m_scrollView.bounces=NO;

और यहां तक ​​कि

m_scrollView.alwaysBounceHorizonal=NO;

मैं नोटिस परिवर्तन केवल अंतिम पृष्ठ है कि करने के लिए था बाउंस नहीं लेकिन जब अन्य पृष्ठों को स्वाइप करते हैं, तो वे उछालते हैं।

संपादित करें: इष्टतम समाधान

कष्टप्रद उछल उछाल के साथ के बिना पहली और आखिरी पेज उछाल (ताकि उपयोगकर्ता repsond हो जाएगी कोई अधिक पृष्ठों \ पेजिंग होती है) और अन्य पृष्ठों बनाने था पृष्ठों को स्वाइप करते समय बाउंस प्रभाव बराबर और समान नहीं होता है। कभी-कभी यह अधिक उछालता है, और कभी-कभी कम होता है।

मैंने सोचा कि पृष्ठों में लोडिंग डेटा के साथ कुछ करना है, लेकिन मुझे नहीं लगता कि यह मामला है, क्योंकि यह तब भी होता है जब सभी पेज लोड होते हैं और पृष्ठभूमि में लोडिंग के एसिंक ऑपरेशन नहीं हो रहे हैं। कोई विचार?

संपादित करें 2: मुझे लगता है कि उछाल संपत्ति UIScrollView, के किनारे पर जब पृष्ठ दर पृष्ठ चलती वहाँ भी बाउंस हो रहा है के बारे में है। कभी-कभी मैं अगले अगले पृष्ठ को देख सकता हूं। उदाहरण के लिए: पृष्ठ 2 से पृष्ठ 3 तक स्वाइप करना, और स्वाइपिंग की एनीमेशन में मैं 0.1 सेकंड पेज 4 के लिए देख सकता हूं।

इसके अलावा, स्वाइपिंग की एनीमेशन स्थिर नहीं है। और ऐसा लगता है कि प्रत्येक स्वाइप थोड़ा अलग काम करता है। अग्रिम धन्यवाद।

+0

"पृष्ठों के बीच बाउंसिंग" से आपका क्या मतलब है? बाउंसिंग का पूरा बिंदु "बाउंस" करना है जब उपयोगकर्ता स्क्रॉलव्यू के किसी भी किनारे तक पहुंचता है, पेजिंग में पृष्ठों के बीच कोई बाउंसिंग नहीं है। सक्षम स्क्रॉल व्यू। –

+0

यदि मेरे पास स्क्रॉलव्यू में 10 "पृष्ठ" हैं .. जब मैं पृष्ठ 2 से पृष्ठ 3 (उदाहरण के लिए) पर स्वाइप करता हूं तो मुझे यादृच्छिक रूप से यह परिणाम मिलते हैं: -पृष्ठ 3 पहुंच थोड़ा "उछाल" (पीछे जाकर और आगे) -पृष्ठ 3 पहुंच सीमा है, और मैं पर वापस उछाल से पहले पृष्ठ 4 का थोड़ा सा देख सकता हूं- पेज 3 पहुंच सीमा है और रोकें (और यही वह है जो मैं चाहता हूं) फिर से, स्वाइपिंग की एनीमेशन निरंतर नहीं है, और यह यूआई फ्रेंडली नहीं है। आशा है कि मैं यहां स्पष्ट हूं। – perr200

+0

व्यवहार इस बात पर निर्भर करता है कि आप रिलीज़ करने से पहले कितना खींचते हैं, स्क्रॉल प्रतिनिधि विधियों को जांचें कि यह देखने के लिए कि क्या आप इसे अधिक विस्तार से नियंत्रित कर सकते हैं – bshirley

उत्तर

1

यदि आप अपने UIScrollView के लिए एक प्रतिनिधि सेट करते हैं, तो प्रतिनिधि scrollViewWillBeginDecelerating: प्राप्त करेगा जब उपयोगकर्ता स्क्रीन से अपनी अंगुली को हटा देता है। आप हो सकते हैं तो निकटतम पृष्ठ को देखने के लिए UIScrollView की setContentOffset:animated: विधि का उपयोग करके नियंत्रण ले सकें, या animateWithDuration:animations: विधि का उपयोग करके अपनी खुद की एनीमेशन सेट अप करें - मुझे यकीन नहीं है कि आपकी स्वयं की एनीमेशन पहले से ही प्राथमिकता लेगी या नहीं। हालांकि प्रगति में गिरावट आई है।

आप UIScrollView के decelerationRate को UIScrollViewDecelerationRateFast पर भी सेट कर सकते हैं, जो स्क्रॉलिंग को इस स्थिति में अधिक सुसंगत बना सकता है।

0

सेट स्क्रॉलबार की उछाल संपत्ति झूठी/

15

बस करो नहीं .... यह .... उछाल नहीं होगा कि उसके बाद ... कोशिश यह आशा है कि यू अपने समाधान मिल जाएगा इस:

_scrollView = [[UIScrollView alloc]init]; 
_scrollView.pagingEnabled = YES; 
_scrollView.bounces = NO; //Here 

फिर, कोई और उछाल नहीं!