每次新迭代时的 UITextField 输入

Posted

技术标签:

【中文标题】每次新迭代时的 UITextField 输入【英文标题】:UITextField input every time new iteration 【发布时间】:2014-09-07 06:55:01 【问题描述】:

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

- (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

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

【问题讨论】:

UITextField focus 的可能副本 【参考方案1】:

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

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

【讨论】:

我的意思是现在用户只能输入一次值,然后在每次迭代中使用这个值,但我需要让用户在轮到计算机后输入不同的值

以上是关于每次新迭代时的 UITextField 输入的主要内容,如果未能解决你的问题,请参考以下文章

如何将 uitextfield 字符范围限制为 10 位

如何在 Swift 中创建 UITextField 对象数组?

日期选择器在文本字段 iOS 8 上崩溃

以正确的方式检测 UITextField 中的退格

UITextField限制输入长度

Spark迭代算法UDF在每次迭代中被多次触发