2009-05-26 18 views

答えて

3

UITextFieldがオンになっているビューのフレーム位置を調整するだけでよいはずです。私は、スクロールビューの先生なしでこれをやりたい

http://iphoneincubator.com/blog/tag/uitextfield

- (void)textFieldDidBeginEditing:(UITextField *)textField { 
    [self scrollViewToCenterOfScreen:textField]; 
} 

- (void)scrollViewToCenterOfScreen:(UIView *)theView { 
    CGFloat viewCenterY = theView.center.y; 
    CGRect applicationFrame = [[UIScreen mainScreen] applicationFrame]; 

    CGFloat availableHeight = applicationFrame.size.height - keyboardBounds.size.height;   // Remove area covered by keyboard 

    CGFloat y = viewCenterY - availableHeight/2.0; 
    if (y < 0) { 
     y = 0; 
    } 
    scrollView.contentSize = CGSizeMake(applicationFrame.size.width, applicationFrame.size.height + keyboardBounds.size.height); 
    [scrollView setContentOffset:CGPointMake(0, y) animated:YES]; 
} 
+0

..あなたがちょうどあなたの現在のビューでscrollView変数を代用スクロールビュー –

+0

を使用しています。このコードをチェックアウト。私はscrollviews、ビュー、およびtableviewsでこのコードを使用しています。このコードは基本的に、テキストフィールドの位置を特定し、animatedDistanceを計算します。この変数を使用して、ビューのフレームを調整します。 – Dutchie432

+2

どのようにkeyboardBoundsを取得しますか? –

関連する問題