Xib に UIScrollView を追加し、動的に作成しているすべてのラベルを追加する IBOutlet 接続を作成します。私はあなたのコードにいくつかの変更を加えました。その正常に動作します。
-(void)setAnswerField
{
int len = 10;
int commonSpace = 20;
for (int i=0;i<=len;i++)
{
if(i != 0)
commonSpace += 40;
textF=[[UITextField alloc] initWithFrame:CGRectMake(((i * 60))+commonSpace,180,60,35)];
[textF setTag:i];
[textF setDelegate:self];
[textF setReturnKeyType:UIReturnKeyDone];
[textF setBackgroundColor:[UIColor grayColor]];
[textF addTarget:self action:@selector(textFieldFinished:) forControlEvents:UIControlEventEditingDidEndOnExit];
textF.clearButtonMode=UITextFieldViewModeWhileEditing;
[textF addTarget:self action:@selector(keyDown:)forControlEvents:UIControlEventEditingDidEndOnExit];
[_textfieldsScrollView addSubview:textF];
}
_textfieldsScrollView.contentSize=CGSizeMake(1000, 500);
}
テキストフィールド textViewDidBeginEditing method fire をクリックしながら、コンテンツのオフセット値を次のように変更するだけです。
- (void)textViewDidBeginEditing:(UITextView *)textView
{
[_textfieldsScrollView setContentSize:CGSizeMake(320, 400)];
[_textfieldsScrollView setContentOffset:CGPointMake(0, 100) animated:YES];
}
その後、このように元の位置に戻します。
- (void)textViewDidEndEditing:(UITextView *)textView
{
//Back to normal state.
[_textfieldsScrollView setContentOffset:CGPointMake(0, 0) animated:YES];
}