每次新迭代时都会输入UITextField

时间:2014-07-16 16:27:34

标签: ios objective-c uitextfield

我是Objective-C和Xcode的新手,我有一个问题,我试过在互联网上寻找,但没有找到任何东西。 我有“游戏”,我有一个屏幕,有两个文本字段,按钮和文本视图。用户输入整数值并点击按钮。点击按钮后,会调用一些函数(或方法)。键入按钮后调用的方法:

- (IBAction)okButtonTapped:(id)sender {

int save1=100;
int save2=100;
int save13=1;
int save22=1;

int save12=1;
int save23=1;


while(save13 !=0 && save23 !=0){
[self yourturn:&save1 heap2:&save2];
 save12= save1;
 save22=save2;

 [self compturn:&save12 heap2:&save22];
 save13=save12;
save23=save22;

save1=save13;
save2=save23;
}

}

这里调用了一些方法。在这种方法中,我使用此代码来保存用户输入的文本字段中的值:

 _heapNumberInt=[self.heapNumberTextField.text intValue];
   _thingsNumberInt=[self.thingsNumberTextField.text intValue];

问题是每次在while循环中有新的迭代时,如何让用户在文本字段中输入新值? 对不起我的英语(这不是我的母语)和我的长期问题。

您可以下载的所有项目here

P.S。 “游戏”非常简单:有2个堆,每个堆100个,用户选择轮到他然后输入值:堆号(1或2堆)和他想要从堆中获取的数量。然后有电脑转。更宽松的是一个不能从任何堆中拿东西的人。它是real game called NIM。(但在这里我只制作了2个堆(而不是3个))。

1 个答案:

答案 0 :(得分:0)

您可能需要阅读事件处理指南

https://developer.apple.com/library/ios/documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/Introduction/Introduction.html#//apple_ref/doc/uid/TP40009541

关于问题,要将焦点设置为输入,您应该使用

[self.heapNumberTextField becomeFirstResponder];

<强>更新 据我所知,你需要:

_heapNumberInt = [self.heapNumberTextField.text intValue]; // get value 
[self.heapNumberTextField setEditable:NO]; // disable editing to calculate
[self calculate];
self.heapNumberTextField.text = @""; // clean UITextField
[self.heapNumberTextField setEditable:YES]; // allow editing
[self.heapNumberTextField becomeFirstResponder]; // set focus to the textfield