2015-09-04 47 views
1

我想只要總金額已編輯更新文字欄,我想以下幾點:如何根據編輯textfield1更新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() 
    } 

回答

2

這可以使用UITextFieldDelegate方法來完成使用此功能 1)

textField1.delegate = self 

2)

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

目前其高達你,你是如何改變的總價。

+0

文本字段被更新UIControlEvents但是當我保存新的文本字段值,它存儲了一個空值? – alex

+0

在此處顯示代碼 – baydi

+0

我更新了我的問題,保存代碼 – alex

1

使用保存文本字段值的UITextField委託函數您的textField1爲 - textFieldDidEndEditing:。進入此功能後,您可以獲取textField1的值,並且可以編輯textField2。

Apple Documentation for UITextFieldDelegate

0

修改代碼,這totalAmount.addTarget(self, action: "changeTextField2:", forControlEvents: UIControlEvents.EditingChanged)

即變爲「EditingChanged」