スクロールビューにテキストフィールドを動的に追加する必要があります。追加した後、毎回スクロールビューのコンテンツサイズを計算して更新します。
コンテンツサイズを更新した後、画面に表示できるようになりました。テキストフィールドを編集すると(キーボードが消えます)、コンテンツサイズを元の値にリセットします。私はここで何かを逃していますか?スクロールビューはxibを介して作成されます。
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
self.scrollView.frame = CGRectMake(0, 0, 320, 240);// set height of self.scrollView.frame, as you need.
return YES;
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[self.txtFieldName resignFirstResponder];
.
,
.
self.scrollView.frame = CGRectMake(0, 0, 320, 460); // set height of self.scrollView.frame, as you need.
[self.scrollView setContentSize:CGSizeMake(320, 465)]; // set height of self.scrollView.ContentSize, as you need.
return YES;
}
viewDidLoad
メソッドでは、
y = 500; // As you wish
scrMain.delegate = self;
scrMain.contentSize = CGSizeMake(320, y);
次に、テキストフィールド入力用
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
scrMain.contentSize = CGSizeMake(320, y + 50);
}
リターンキーの後、
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
[textField resignFirstResponder];
scrMain.contentSize = CGSizeMake(320, y);
return YES;
}
最後の textFiled の y 位置を追跡できます。
すべての textFields が ScrollView に追加された後、以下の行を使用します。
[scrollView setContentSize:CGSizeMake(320, yPos)];
キーボード発行ユーザーの場合、以下のコード。
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
[textField resignFirstResponder];
[scrollView setContentSize:CGSizeMake(320, yPos)];
return YES;
}
これがあなたを助けることを願っています。
ではごきげんよう !!!