0

如果在键盘上键入任何值而没有按回车键并且其中两个标签已从“选择”更改为其他内容,我正在尝试使其位于顶部的按钮处于启用状态。但是,我尝试使用 IBAction 说:

 - (IBAction)valuesChanged {
if (textField.text != nil && ![labelOne.text isEqualToString:@"Select"] && ![labelTwo.text isEqualToString:@"Select"]) {
    NSLog(@"Success");
 }

else {
    NSLog(@"No Success");
   }
}

但我意识到这不起作用,因为:

  • 当我将 IBAction Sent Event 设置为“Value Changed”时,文本字段不起作用
  • 标签不会接受操作。

我该怎么做呢?

4

2 回答 2

1

告诉您用户正在文本字段中键入字符或以其他方式更改其内容的文本字段委托方法是textField:shouldChangeCharactersInRange:replacementString:. 在您的文本字段委托中实现它并根据需要做出响应。您也将返回 YES。

您的原始代码无法连接的一个原因可能是您没有使用 IBAction 方法的规范形式;它应该是

 - (IBAction)valuesChanged:(id)sender {

原始代码中的另一个问题是 UITextField 不会发出 Value Changed。你想要的是编辑改变。但是委托方法也同样有效。

于 2012-12-05T03:29:14.503 回答
0

尝试UITextField委托方法。

- (void)textFieldDidBeginEditing:(UITextField *)textField;
- (void)textFieldDidEndEditing:(UITextField *)textField;
于 2012-12-04T16:56:10.560 回答