0

ボタンとテキストフィールドの束を備えたscrollViewがあり、データが1つの要素に入力されると、scrollviewは次の要素にスクロールします。frameコンポーネントを介して各要素の場所にアクセスしています

ただし、ユーザーは画像をアップロードできます。これにより、これらすべての要素が意図的にページの下に移動されます。これにより、次の要素の機能へのスクロールが完全に中断され、要素が以前あった場所にのみスクロールされます。つまり、各 のコンポーネントframeが更新されていません。UIButtonUITextField

これらすべての要素を下に移動した場合、それらの座標を更新するにはどうすればよいですか? 私は使用すべきではありませんframeか?

詳細については、フィールドは実際にはビューの上にあり、ビューは の上にありUIScrollViewます。画像を追加するときは、フレームを画面の下に移動して、フィールド ビューを移動します。各ボタン/フィールド自体を移動しているわけではありません。

- (void)scrollViewToNextElement:(CGRect)frame {
[self.scrollView scrollRectToVisible:CGRectMake(frame.origin.x,frame.origin.y, scrollView.frame.size.width, scrollView.frame.size.height) animated:YES];
}

トリガー アクション:

-(void)button1TextEntered{
// Now go to the next button
[self scrollViewToNextElement:button2.frame];

}

4

1 に答える 1

0

scrollview フレームを取得し、フレームorigin.yをある値だけ減らします。値を入力してEnterキーを押すと、スクロールビューのorigin.y値が上に移動します。この方法で修正できます。

于 2012-07-18T09:05:25.017 に答える