1

我喜欢在编辑完 totalAmount 后立即更新 textfield2,我正在尝试以下操作:

    totalAmount.addTarget(self, action: "changeTextField2:", forControlEvents: UIControlEvents.EditingDidEndOnExit)

 func changeTextField2(textField: UITextField) {
        print("Total amount: \(totalAmount.text)")
        //amount vat - calculate vat based on textField
        amountVAT.text = "88"
    }

我正在保存文本字段值

func newItem(){

    let context = self.context
    let ent = NSEntityDescription.entityForName("List", inManagedObjectContext: context)


    let nItem = List(entity: ent!, insertIntoManagedObjectContext: context)
    let numberFormatter = NSNumberFormatter()

    nItem.amountVAT = numberFormatter.numberFromString(amountVAT.text!)
    .....more values
    nItem.invoiceImage = UIImagePNGRepresentation(imageHolder.image!)

    do {
     try context.save()
    } catch {
        print(error)
    }
}
func saveValues(sender: AnyObject) {

        if nItem != nil {
            editItem()
        } else {
            newItem()
        }

        dismissVC()
    }
4

3 回答 3

2

这可以使用 UITextFieldDelegate 方法使用这个函数 1.)

textField1.delegate = self

2.)

func textFieldDidEndEditing(textField: UITextField)
{
   if textField == textField1
   {
      textField2.text = textField1.text
   }
}

现在由您决定如何更改总金额。

于 2015-09-04T10:10:49.210 回答
1

UITextField - textFieldDidEndEditing:为您的 textField1使用委托功能。在此函数中,您可以获取 textField1 的值并可以编辑 textField2。

UITextFieldDelegate 的 Apple 文档

于 2015-09-04T10:00:19.843 回答
0

将代码更改为此totalAmount.addTarget(self, action: "changeTextField2:", forControlEvents: UIControlEvents.EditingChanged)

即将 UIControlEvents 更改为“EditingChanged”

于 2015-09-04T10:22:11.760 回答