2010-08-30 48 views
0

我一直在爲此苦苦掙扎了一段時間,還沒有找到解決方案。使用動畫調整UIWebView的大小問題

我正在使用動畫beginAnimations:commitAnimations調整UIWebView的大小。一切順利,除了調整大小時試圖使UIWebView變大。

讓我說清楚一點。假設我的UIWebView的當前幀是(0, 0, 320, 300)

然後,我嘗試使用它調整到(0, 0, 320, 340)

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:1.0]; 
[self.webView setFrame:(CGRectMake(webView.frame.origin.x, webView.frame.origin.y, webView.frame.size.width, 340))]; 
[UIView commitAnimations]; 

通過這樣做,我希望UIWebView回落40個像素,但它實際上去了一點點(大約10 - 20像素),並且只有在到達所需位置後(實際上它最終會下降50-60像素)。

有誰知道如何解決?我想要做的是在調用方法時,我的UIWebView的底部會關閉,因此如果有其他選項可以完成,我會很樂意嘗試。

非常感謝。

回答

0

而不是動畫UIWebView的框架,你應該嘗試動畫的邊界單獨,或者可能的邊界和中心在一起。例如同時將中心向下移動20點。

+0

動畫邊界和中心實際上工作!只有兩件事需要注意:首先,向上動畫也必須與邊界和中心一起工作。否則,在動畫結束後它仍然無法工作。其次,雖然它在UIWebView一直向下滾動時工作,但在任何其他情況下都不起作用(早期描述的問題也僅在UIWebView完全滾動時纔會發生)是否有任何方法來檢測UIWebView在調用動畫之前站立? – 2010-08-31 19:49:08