2013-06-09 6 views
7

के लिए बाउंसिंग अक्षम है, मुझे यह समस्या है, और मुझे इसका कोई अन्य उल्लेख नहीं मिल रहा है।स्क्रॉलिंग इंडिकेटर अटक जाता है जब UIScrollView

असल में, यदि मैं UIScrollView में बाउंसिंग अक्षम करता हूं (इसलिए UITableView जैसे व्युत्पन्न भी प्रभावित होते हैं) यदि उपयोगकर्ता शीर्ष पर स्क्रॉल करता है तो स्क्रॉल सूचक को फंसना संभव है, और फिर, एक और इशारा के साथ, स्क्रॉलिंग जारी रखने का प्रयास करता है एक त्वरित स्वाइप का उपयोग कर।

एक बार ऐसा होने पर, स्क्रॉल सूचक गायब नहीं होगा जब तक कोई उपयोगकर्ता फिर से स्क्रॉल नहीं करता या स्क्रॉलव्यू टैप नहीं करता। सबसे बड़ा मुद्दा यह है कि स्क्रॉलव्यू उस टैप को कैप्चर करेगा और इसलिए यदि आप टेबल सेल कहने पर टैप करने का प्रयास करते हैं, तो पहली बार कुछ भी नहीं होगा।

मैंने अपने डिवाइस और सिम्युलेटर दोनों पर केवल एक बेयरबोन ऐप के साथ इसका परीक्षण किया है, और ऐसा लगता है कि यह UIScrollView के साथ एक सामान्य समस्या है और बाउंसिंग अक्षम करना; हालांकि, जैसा कि मैंने कहा था कि मुझे इंटरनेट पर इसका कोई अन्य उल्लेख नहीं मिल रहा है।

क्या यह सिर्फ एक बग है? क्या यह अपेक्षित व्यवहार है? क्या मुझसे कुछ गलत हो रही है? यदि यह एक बग है, तो क्या किसी को किसी काम के आसपास या ठीक करने के बारे में पता है?

+0

की जरूरत का उपयोग मेरे पास वही है, या अभी एक ही समस्या है। मुझे लगता है कि मैं अब के लिए बाउंसिंग सक्षम करूँगा ... जैसा कि आप कहते हैं, जब यह समस्या होती है, तो अगला टैप तालिका दृश्य द्वारा "निगल" जाएगा, ताकि चयनित होने के लिए एक सेल को दो बार टैप किया जाना चाहिए। – Jonny

+0

हाय दोस्तों, क्या आपको इस व्यवहार का समाधान मिला? धन्यवाद। – apascual

उत्तर

0

क्या आपने अपने स्क्रॉलव्यू के लिए टैप इशारा जोड़ा है, यदि नहीं तो इसे जोड़ने का प्रयास करें? अपने इंटरफेस फ़ाइल में

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(resignsKeyboard)]; 
    [self.scrollView addGestureRecognizer:singleTap]; 
    singleTap.numberOfTapsRequired = 1; 
    singleTap.delegate = self; 

जोड़ें प्रतिनिधि UIGestureRecognizerDelegate तो टैप जेस्चर delgate विधि

-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch 
{ 
if (self.scrollView.superview != nil) 
    { 
     if ([touch.view isKindOfClass:[UIButton class]]||[touch.view.superview.superview isKindOfClass:[UITableViewCell class]]||[touch.view.superview.superview.superview isKindOfClass:[UITableViewCell class]]||[touch.view.superview isKindOfClass:[UITableViewCell class]]) 
      // we touched our control surface 
     { 
      return NO; // ignore the touch 
     } 

    } 

    return YES; // handle the touch 
} 
लागू

// कुंजीपटल इस्तीफा देने की तरह पुस्तक छूने पर अन्य कार्रवाई करने के लिए, अगर

-(void) resignsKeyboard 
{ 
    [self.view endEditing:YES]; 
    [self.scrollView setContentOffset:CGPointMake(0,0) animated:YES]; 
} 
संबंधित मुद्दे