2011-04-15 10 views
6

कोई परिणाम नहीं के साथ एक लंबी खोज के बाद, शायद किसी को निम्न समस्या का जवाब जानता है। UIView सिर्फ एक रैपर है, ताकि मैं UIWebView के शीर्ष पर बटन, आदि रख सकूं। अब मैं UIView और UIWebView के आकार बदलने और पुनर्निर्माण को एनिमेट करना चाहता हूं। मैं इसे ऐसा दिखाना चाहता हूं कि यह सिर्फ एक UIWebView आकार बदल रहा था। मैं विभिन्न एनीमेशन तकनीक की कोशिश की:, ब्लॉक/प्रतिबद्ध अंतर्निहित/स्पष्ट, उदाहरण के लिए इस तरह:चेतन एम्बेडेड UIWebView फ्रेम संपत्ति

[UIView beginAnimations:@"zoomIn" context:nil]; 
[UIView setAnimationDuration:1.0]; 

myWrapperUIView.frame = CGRect(0.0, 0.0, 500.0, 500.0); 
myUIWebView.frame = CGRect(0.0, 0.0, 500.0, 500.0); 

[UIView commitAnimations]; 

लेकिन मैं हमेशा परिणाम प्राप्त है कि UIView सही की तरह एनिमेट, लेकिन अंदर UIWebView सिर्फ तुरन्त पर स्विच करता है नया फ्रेम, इसलिए यदि मैं एक बड़े फ्रेम से ज़ूम करता हूं तो UIWebView के आस-पास खाली स्थान होता है जो एनीमेशन के दौरान घटता है।

मैंने UIWebView के लिए एक एम्बेडेड एनीमेशन भी कोशिश की, लेकिन एक ही परिणाम।

मेरा प्रश्न है:
क्या दोनों दृश्यों को एक साथ एनिमेट करने का कोई तरीका है, ताकि प्रत्येक बिंदु पर UIWebWill UIView भर रहे हों?

आप अपने वेब दृश्य के लिए autoresizing मुखौटा सेट करना होगा धन्यवाद,
माइकल

+0

यू ऊपर उल्लेख क्वेरी हल है ??? क्योंकि मुझे भी एक ही समस्या है ... कृपया मुझे बताएं कि आपने इसे कैसे हल किया ... –

उत्तर

1

उपयोग CGAffineTransform और संपत्ति को बदलने का प्रयोग कर दृश्य पैमाने पर, यह काम करेगा।

myWrapperUIView.frame = CGRect(0.0, 0.0, 500.0, 500.0); 
myUIWebView.frame = CGRect(0.0, 0.0, 500.0, 500.0); 
self.window.userInteractionEnabled =NO; 
myWrapperUIView.transform = CGAffineTransformMakeScale(0.01, 0.01); 
myUIWebView.transform = CGAffineTransformMakeScale(0.01, 0.01); 
[UIView animateWithDuration:ANIMATIONDURATION animations:^{ 
    myWrapperUIView.transform = CGAffineTransformMakeScale(1.0, 1.0); 
    myUIWebView.transform = CGAffineTransformMakeScale(1.0, 1.0); 
    }completion:^(BOOL finished) { 
     self.window.userInteractionEnabled = YES; 
}]; 

आशा है कि यह मदद करता है,