Swift - Автоматическое обновление текстовых полей - PullRequest
0 голосов
/ 05 января 2020

Я хочу взять эти текстовые поля и подготовить уравнение между ними. У меня возникают проблемы с автоматическим обновлением окончательного текстового поля после выполнения уравнения

. В этом сценарии я хочу, чтобы Общая цена Ca sh обновлялась при обновлении цены транспортного средства или контракта на обслуживание. обновляется без необходимости нажатия кнопки DP.

Может кто-нибудь дать мне предложение о том, как выполнить sh это.

Код:

@IBAction func DPButtonPressed(_ sender: Any) {
        totalCashPrice.integerValue = vehiclePrice.integerValue + serviceContract.integerValue + salesTax.integerValue
}

Вместо того, чтобы быть @IBOutlet func DPButtonPressed(_sender: Any), я хочу эту функцию будет сделано автоматически.

введите описание изображения здесь

Вот где я застрял с использованием делегата

 override func viewDidLoad() {
    super.viewDidLoad()
    totalCashPrice.delegate = self

}
func textFieldDidBeginEditing(textField: NSTextField!) {

}
func textFieldShouldEndEditing(textField: NSTextField!) -> Bool {
    return false
}
func textFieldShouldReturn(textField: NSTextField!) -> Bool {
    totalCashPrice.resignFirstResponder()
    return true
}

@IBAction func DPButtonPressed(_ sender: Any) {
    totalCashPrice.integerValue = vehiclePrice.integerValue + 
serviceContract.integerValue + salesTax.integerValue
    textFieldShouldEndEditing(textField: totalCashPrice)

введите описание изображения здесь

1 Ответ

0 голосов
/ 05 января 2020

Какао управляется событиями. Выберите событие и позвольте ему вести вас.

  • Текстовое поле является элементом управления и может быть настроено на отправку события управления при каждом изменении значения (ie пользователь вводит символ).

  • Также можно настроить текстовое поле для отправки уведомлений, подобных этому: https://developer.apple.com/documentation/appkit/nstextfield/1399397-textdidchange

  • Также текст поле отправляет сообщения своему делегату, когда события происходят, как будто пользователь покидает текстовое поле.

Вам просто нужно решить, на какой тип сигнала вы хотите ответить, и настроить его так, чтобы вы получали этот сигнал. Это просто вопрос указания себе, что означает «когда обновляется цена транспортного средства или обновляется договор на обслуживание», ie, какое действие пользователя считается обновлением поля.

...