-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 进行下一个。我想做一些非常简单的事情,你只能选择第一个文本框。然后检查两个不同的数组,看看结果是否错误,但这已经容易多了。

我应该调用什么方法?例如,如果标签 1 到标签 5 将是一个单词,并标记另一个 7 到 12,那么对于每个字段,我将不得不做不同的事情?如果我要垂直书写?我不知道我是否走在正确的轨道上,有人建议我使用 draw rect 但我会按照这种方式

如果代码有点混乱,我深表歉意。

我不知道该怎么做

4

1 回答 1

0

我不完全确定你在问什么,但无论如何我都会尝试回答。您可以添加[nextTextField becomeFirstResponder];到委托方法,该方法textFieldDidEndEditing将用户带到您认为他应该在下一个的任何文本字段。

于 2011-06-13T22:07:28.333 回答