2009-05-21 72 views
0

我有一個帶有幾個UITextFields的UIScrollView。當用戶編輯一個文本字段時,它會滾動,以便UITextField居中。我遇到的問題是UIScrollView正在滾動到正確的位置,但在動畫的最後一幀它跳到了300,300。它在2.2.1中運行正常,但不在3.0 beta 5中。它總是跳到300,300。奇怪的是,當我調用returnScrollAfterEdit方法以相同的方式移動滾動視圖時,它工作得很好。任何想法可能導致這種情況?UIScrollView contentOffset在動畫之後跳轉 - 在3.0 beta 5中

 
- (void)scrollViewToCenterOfScreen:(UIView *)field withKeyboard:(bool)withKeyboard { 
    CGFloat viewCenterY = field.center.y; 
    CGRect applicationFrame = [[UIScreen mainScreen] applicationFrame]; 
    CGFloat availableHeight = applicationFrame.size.height - 215; 

    CGFloat y = viewCenterY - availableHeight/2.0; 

    NSLog([NSString stringWithFormat:@"w:%f h%f availH:%f y:%f x:%f", applicationFrame.size.width, applicationFrame.size.height, availableHeight, y, self.contentOffset.x]); 

    if (y
+0

固定發佈版本3.0。 – respectTheCode 2009-07-21 14:48:42

回答

0

我不確定這是不是你正在尋找,但我也有一些與UITextView的瘋狂的問題。如果我在視圖中選擇了任何文本,它將滾動到框架的底部。我通過在將文本添加到UITextView之前關閉scrollEnabled來解決此問題。

因此,代碼會是這個樣子:

[textarea setText:@""]; //blank out the text to scroll back to the top 
[textarea setScrollEnabled:NO]; //disable to avoid scrolling 
[textarea setText:@"new text here"]; 
[textarea setScrollEnabled:YES]; 
[textarea resignFirstResponder]; //to drop annoying blue 

我希望這有助於。

+0

我最終改變了圖形用戶界面來避免這種情況,但下次我遇到它時我會嘗試一下。 – respectTheCode 2009-08-24 20:33:43