2010-11-21 8 views
18

मैं यूआईएसक्रोल व्यू का उपयोग कर रहा हूं और scrollRectToVisible का उपयोग कर रहा हूं: एनिमेटेड यह मेरे लिए ठीक काम कर रहा है। लेकिन मैं धीरे-धीरे किसी स्थान पर स्क्रॉल करना चाहता हूं ताकि उपयोगकर्ता प्रभाव को देख सके। क्या यह संभव है।आईफोन - यूआईएसक्रोलव्यू - स्क्रॉलरक्टो धीमी एनीमेशन के साथ दृश्यमान

मैं निम्नलिखित कोड का प्रयास कर रहा हूं, लेकिन सफल नहीं हुआ।

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationBeginsFromCurrentState:YES]; 
[UIView setAnimationDuration:2.0]; 
[scrlView scrollRectToVisible:<<some cgrect>> animated:YES];    
[UIView commitAnimations];   
+0

संभव डुप्लिकेट (http://stackoverflow.com/questions/1558262/uiscrollview-scrollrecttovisible-at-custom-speed) – tbodt

उत्तर

55

समाधान वास्तव में बहुत आसान है। यदि आप [scrollView scrollRectToVisible:frame animated:YES] का उपयोग करते हैं तो स्क्रॉलव्यू अपनी स्वयं की एनीमेशन शुरू करेगा, इसलिए आपकी अवधि के साथ एनिमेट करने के लिए आपको अपनी एनीमेशन के भीतर [scrollView scrollRectToVisible:frame animated:NO] का उपयोग करना होगा।

दूसरे शब्दों में: यह काम करेगा।

[UIView animateWithDuration:3 
         delay:0 
        options:UIViewAnimationOptionCurveEaseInOut 
       animations:^{ [scrollView scrollRectToVisible:frame animated:NO]; } 
       completion:NULL]; 
[कस्टम गति से UIScrollView scrollRectToVisible] की
संबंधित मुद्दे