无法在XIB(Swift)中将IBAction连接到UITextField

时间:2014-12-23 18:16:07

标签: ios swift uitextfield ibaction

在我的一个ViewControllers上,我声明:

@IBOutlet var priceTextField : UITextField!

然后我尝试基于相同的UITextField添加以下内容:

 @IBAction func priceTextFieldChanged(sender: UITextField) { updateOutput() }

当我查看XIB的文件所有者和接收的操作时,由于某种原因,我无法将UITextField连接到此功能。我甚至试图将UITextField拖到ViewController上,但是却无法看到" Action"选项。我检查了课程。它已链接到ViewController。不知道该怎么做。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

UITextField未提供操作(sendAction:),这就是您无法连接的原因。

您需要为textFieldDidBeginEditingUITextField的其他委托方法创建委托,并将UITextField委托设置为您的类实例。

答案 1 :(得分:0)

@Zaph,像这样:

class ViewController: UIViewController,UITextFieldDelegate {

@IBOutlet var priceTextField : UITextField!

func textFieldDidEndEditing(textField: UITextField) {
if let value = sender.textIntegerValue() {
            pricetepper.ifInRangeSetValue(value)
        }
        updateOutput()
 }
} 

不确定我是否选择了正确的方法。感谢。