मेरे विचारों में से एक में मुझे UIImageView की फ्रेम प्रॉपर्टी को एनिमेट करने की आवश्यकता है और इसे करने के दौरान मैं नेविगेशन बार के शीर्षक दृश्य में एक प्रगति पट्टी (UIProgressView) दिखाना चाहता हूं। समस्या यह है कि समस्या अगर मैं निम्नलिखित एनीमेशन ब्लॉक को टिप्पणी करता हूं तो प्रगति पट्टी को सुचारू रूप से अपेक्षित के रूप में अपडेट किया जाता है। दूसरी तरफ निम्नलिखित एनीमेशन के कारण प्रगति पट्टी अलग-अलग स्थानों में बंद हो जाती है और फिर से बढ़ती जा रही है।एनिमेट विथ अवधि: दूषित चिकनी प्रगतिबार वृद्धि
//add message bubble
[UIView animateWithDuration:0.3
delay:0
options:UIViewAnimationOptionAllowUserInteraction
animations:^
{
animationBubbleImageView.alpha = 1;
}
completion:^(BOOL finished)
{
[self removeAutoCorrectionAndHighlight];
[UIView animateWithDuration:0.3
delay:0
options:UIViewAnimationOptionAllowUserInteraction
animations:^
{
CGRect bubbleFrame = CGRectMake(animationBubbleImageView.frame.origin.x,
animationBubbleImageView.frame.origin.y,
bubbleSize.width,
bubbleSize.height);
[animationBubbleImageView setFrame:bubbleFrame];
messageLabel.alpha = 1;
}
completion:^(BOOL finished)
{
[self sendSubviewToBack:textView];
[self.delegate moveBubbleToTableCell];
}];
}];
एनीमेशन ब्लॉक मुख्य धागे को अवरुद्ध नहीं करते हैं, लेकिन प्रगति दृश्य के अनमोल beahviout का कारण क्या है?
अद्यतन: क्या मैं हासिल करना चाहते हैं IOS.While में MessagesApp बुलबुला एनीमेशन द्वारा लिखा गया संदेश एक बुलबुला हो जाता है और उसके स्थान पर प्रगति बार धीरे-धीरे बढ़ा देते चाहिए के लिए उड़ान भरता है।
यदि मैं एनीमेशन प्रोग्रेसबार सामान्य के साथ एक ही चीज़ की कोशिश करता हूं।
बस एक जंगली अनुमान है, कारण यह हो सकता है कि आप यूआई को मुख्य धागे से अपडेट नहीं कर रहे हैं। –
एक और जंगली अनुमान है, लेकिन क्या आपने जांच की है कि इस कोड के अंदर से 3 विधियों में से कोई भी कोड आपके मुख्य थ्रेड को अवरुद्ध करता है? – jhilgert00
और बस यहां सबकुछ पर शासन करने की कोशिश कर रहा है, लेकिन मैं आमतौर पर अपने एनीमेशन कोड में वास्तविक फ्लोट का उपयोग करता हूं, यानी 0.00 के विपरीत 0.0f। – jhilgert00