2

スクロールビューにテキストフィールドを動的に追加する必要があります。追加した後、毎回スクロールビューのコンテンツサイズを計算して更新します。

コンテンツサイズを更新した後、画面に表示できるようになりました。テキストフィールドを編集すると(キーボードが消えます)、コンテンツサイズを元の値にリセットします。私はここで何かを逃していますか?スクロールビューはxibを介して作成されます。

4

3 に答える 3

0
    - (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;
    }
于 2013-03-14T11:50:58.327 に答える
0

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;
 }
于 2013-03-14T11:50:58.743 に答える
0

最後の textFiled の y 位置を追跡できます。

すべての textFields が ScrollView に追加された後、以下の行を使用します。

[scrollView setContentSize:CGSizeMake(320, yPos)];

キーボード発行ユーザーの場合、以下のコード。

- (BOOL)textFieldShouldReturn:(UITextField *)textField{

[textField resignFirstResponder];
[scrollView setContentSize:CGSizeMake(320, yPos)];
return YES;
}

これがあなたを助けることを願っています。

ではごきげんよう !!!

于 2013-03-14T11:41:09.803 に答える