UIScrollView
には、内部に複数のダイナミックビューがあり、それぞれにテキストフィールドがあります。ボックスの1つに入力を開始すると、スクロール・ビューをスクロールして、フィールドが画面上部(キーボードの上に表示可能)になるようにします。それは素晴らしい作品です。ここではコードです:スクロールビューが最上部までスクロールするたびUIScrollViewをスクロールしていくつかのテキストフィールドの最小値を表示する
(void)didStartTyping:(id)sender {
[scrollView setContentOffset:CGPointMake(0, subView.frame.origin.y) animated:YES];
scrollView.scrollEnabled = NO;
}
(void)didFinishTyping:(id)sender {
scrollView.scrollEnabled = YES;
}
しかし、私は最低の目に見えるテキストフィールドに入力を開始、それは約40ピクセルで十分(短いスクロールダウンしません。 )。困惑しているのは、スクロールビューの上から1ピクセル下にスクロールすると機能しますが、上にスクロールすると非常に異なった動作をします。
シナリオの両方でscollviewのフレームを記録し、そこにあるものを確認する必要がありますか?私が考えることができるのは、ボトムオフセットを増やす必要があるということです。 – rishi
それは意味をなさないでしょう。しかし、今のところ、醜い回避策は、ビューが上にスクロールされたときに下のビューのテキストフィールドを見ることができないように、サブビューのサイズを変更することでした。最適ではありませんが、今のところうまくいきます。もし私がこれに戻ってきたら、それがどうなっているかを教えてあげましょう。おかげでリシ。 – Gazzini
スクロール・ビューを手動で目的の位置にスクロールできます。つまり、テキスト・フィールドにフォーカスを当てるのではなく、スクロール・ビューをドラッグして、キーボードを表示する位置にします。あなたはそれをあなたが望むところにドラッグできますか?ほとんどの場合、スクロールビューのコンテンツサイズがコンテンツを密接に囲んでいる場合、実際には最後のアイテムを上に置くことはできません。これを言う別の方法は、コンテンツのサイズの高さをコンテンツよりも大きく設定することができます。 – danh