0

ゲームアプリ初心者です。テキストフィールドがある質疑応答ゲームを実装しようとしています。文字を入力すると、自動的に次のテキスト フィールドに移動しますが、2 番目のテキスト フィールドには自動的に移動しません。誰でもこの問題を解決するのを手伝ってもらえますか?

 int i=0,k=0;
        while(i<len)
        {
            int y = 15 +k*44;
            int j=0;
            for(j=0; j<15;j++)
            {
                if (i>=len) 
                    break;

                if([[CharArray objectAtIndex:i]isEqualToString:@" "])
                {
                    NSLog(@" space i value:%d",i) ;

                    NSNumber* spaceValues = [NSNumber numberWithInt:i];
                    [intArray addObject:spaceValues];
                    NSLog(@"intArray values :%@",intArray);
                }
                else
                {
                    letterField = [[UITextField alloc] init];
                    // letterField.text = [CharArray objectAtIndex:i];
                    [letterField setContentMode:UIViewContentModeCenter];
                    [letterField setFrame:CGRectMake(30*(j+1)+1*j, y, 30,30)];
                    letterField.font = [UIFont systemFontOfSize:27.0f];
 [letterField setTag:tagCount+300];
                    letterField.autocapitalizationType = UITextAutocapitalizationTypeNone;
   letterField.delegate = self;
                    [answerView addSubview:letterField];
  [letterField release];
                    tagCount ++;
                }
                i++;
            }
            k = k+1;
        }
        [viewToGuess removeFromSuperview];
        [self.view addSubview:answerView];
        [self.view bringSubviewToFront:answerView];
        answerView.frame = CGRectMake(0, 904, 768, 100);

TextField を取得するためにこのコードを使用しています。これにはキープレス通知を使用します。

nextTag = nextTag + 1;  //increment the tag value while key press.
4

2 に答える 2

1

同じロジックを 2 回目に使用しても機能しません。テキストフィールドを割り当てるのを忘れたと思います

 UITextField *textField = (UITextField *)[self.view viewWithTag:nextTag];
    [textField becomeFirstResponder];

これを使えば欲しいものが手に入るかもしれません

于 2012-05-01T08:56:25.423 に答える
0

どのテキスト フィールドを強調表示する必要がある場合でも、最初の応答者にする必要があります。例えば:

if(letterField.tag == _YOUR_TAG_VALUE_)
    [letterField becomeFirstResponder];
于 2012-05-01T11:52:23.143 に答える