1

私はiPadアプリに取り組んでいます。1 つのビューでは、10 個のテキスト フィールドがあります。iPad で表示すると、下部のテキスト フィールドがキーボードの後ろに隠れてしまいます。

テキストフィールドがキーボードの後ろに隠れているときに、テキストフィールドを上にスクロールしたい.

どんな助けでも大歓迎です

事前に感謝します。

4

2 に答える 2

3

UIScrollViewを使用して、UIコントロールをscrollviewに配置します。viewDidLoadで、スクロールビューのコンテンツオフセットを保持します。(以下のコードでは、scrollOffsetはCGPointタイプです。

scrollOffset = scrollView.contentOffset;

UITextFieldデリゲートで、スクロールビューの新しいコンテンツオフセットを設定します。

- (void)textFieldDidBeginEditing:(UITextField *)textField {

    CGPoint scrollPoint;
    CGRect inputFieldBounds = [textField bounds];
    inputFieldBounds = [textField convertRect:inputFieldBounds toView:scrollView];
    scrollPoint = inputFieldBounds.origin;
    scrollPoint.x = 0;
    scrollPoint.y -= 90; // you can customize this value
    [scrollView setContentOffset:scrollPoint animated:YES];            
}

textfiedlshouldreturnデリゲートで、スクロールビューのコンテンツオフセットをリセットします。

- (BOOL) textFieldShouldReturn:(UITextField *)textField { 
    [scrollView  setContentOffset:scrollOffset animated:YES]; 
    [textField resignFirstResponder]; 
    return YES; 
}
于 2012-05-04T03:14:20.477 に答える
0

キーボードからの通知を使用できます。キーボードが表示されるとUIKeyboardWillShowNotificationが表示され、必要に応じてアイテムを移動またはスクロールできます。

よろしくベルンハルト

于 2012-05-03T11:13:38.823 に答える