-1

何度か試みた後、それを機能させる方法がわからないので、書くことにしました。クロスワードパズルを参照します。私がしたことはこれです:

- (void) viewDidLoad{
    int move = 15;
    int h = 50;
    for (int i = 0; i < 416; i++){
        move = move + 36;
        fieldUno = [[UITextField alloc] init];
        fieldUno.tag = i;
        [fieldUno viewWithTag:i].frame = CGRectMake(move, h, 35, 35);
        [fieldUno setBackgroundColor:[UIColor purpleColor]];
        [fieldUno setTextAlignment:UITextAlignmentCenter];
        [fieldUno setFont:[UIFont fontWithName:@"Times New Roman" size:30]];
        [fieldUno setDelegate:self];
        [self.view addSubview:[fieldUno viewWithTag:i]];
        [fieldUno release];
        if (i == 25) h = h + 36, move = 15;
        if (i == 51) h = h + 36, move = 15;
        if (i == 77) h = h + 36, move = 15;
        if (i == 103) h = h + 36, move = 15;
        if (i == 129) h = h + 36, move = 15;
        if (i == 155) h = h + 36, move = 15;
        if (i == 181) h = h + 36, move = 15;
        if (i == 207) h = h + 36, move = 15;
        if (i == 233) h = h + 36, move = 15;
        if (i == 259) h = h + 36, move = 15;
        if (i == 285) h = h + 36, move = 15;
        if (i == 311) h = h + 36, move = 15;
        if (i == 337) h = h + 36, move = 15;
        if (i == 363) h = h + 36, move = 15;
        if (i == 389) h = h + 36, move = 15;

しかし今、私はbecomeFirstResponderを使って次のものを読む方法がわかりません。非常に簡単なことをしたかったので、最初のテキストボックスしか選択できません。次に、2つの異なる配列をチェックして、結果が間違っているかどうかを確認しますが、これはすでにはるかに簡単です。

どのメソッドを呼び出す必要がありますか?たとえば、タグ1からタグ5が単語で、別の7から12にタグを付ける場合、フィールドごとに異なることを行う必要がありますか?そして、私が縦に書くとしたら?正しい方向に進んでいるかどうかはわかりません。drawrectを使用するようにアドバイスされましたが、この方法に従います。

コードが少し混乱している場合は、お詫び申し上げます。

他にどうしたらいいかわからなかった

4

1 に答える 1

0

あなたが何を求めているのか完全にはわかりませんが、とにかく答えるのをやめます。ユーザーを次に配置する必要があると思われるtextFieldに[nextTextField becomeFirstResponder];移動するデリゲートメソッドに追加できます。textFieldDidEndEditing

于 2011-06-13T22:07:28.333 に答える