UIswitch изменить калькулятор в кнопке с оператором if - PullRequest
0 голосов
/ 04 декабря 2018

Я пытаюсь использовать кнопку UIswitch, чтобы изменить мой расчет в формуле.Вот как это работает, у меня есть приложение для продажи вещей, поэтому, если пользователь хочет добавить опцию в свою продажу, такую ​​как гарантия или страховка, он должен нажать на переключатель UI.Если он включен, появляется текстовое поле, и он вводит количество месяцев для гарантии и страхования, а затем по формуле рассчитывается общая стоимость.Поэтому мне удалось заставить UI-переключатель появляться или исчезать, если включен или выключен.Я не понимаю, как изменить формулу в зависимости от того, включена она или нет.Я пытаюсь сделать оператор if согласно текстовому полю скрытым или нет, но он не работает.

@IBAction func switchWarranty(_ sender: UISwitch) {
    if (sender.isOn == true){
        textFieldWarranty.isHidden = false



    }else{
        textFieldWarranty.isHidden = true
        textFieldWarranty.text = ""


    }
}

 @IBAction func switchInsurance(_ sender: UISwitch) {
    if (sender.isOn == true){

        textFieldInsurance.isHidden = false

    }else{

        textFieldInsurance.isHidden = true
        textFieldInsurance.text = ""

    }
}

@IBAction func test(_ sender: Any) {


    if let price1 = Float (textFieldPrice1.text!){
    if let warranty = Float (textFieldWarranty.text!){
    if let insurance = Float (textFieldInsurance.text!){
    if let price2 = Float (TextFieldPrice2.text!){

if textFieldWarranty.isHidden == false && textFieldInsurance.isHidden == false {


let  Total = ((price1 * (warranty * 0.03748)) * (insurance * 0.4729)) / price2

    Label.text = "\(Total)) prix rentable"



        } else if textFieldWarranty.isHidden == false && textFieldInsurance.isHidden == true {

let  Total = (price1 * (warranty * 0.03748) / (price2 * 0.115)

    Label.text = "\(Total)) prix garantie"


        } else if textFieldWarranty.isHidden == true && textFieldInsurance.isHidden == false {

let  Total = ((price1 * (insurance * 0.4729)) / price2

    Label.text = "\(Total)) prix assure"



        } else if textFieldWarranty.isHidden == true && textFieldInsurance.isHidden == true {

let  Total = price 1 / price2

    Label.text = "\(Total)) prix exclus"



        } else{
            Label.text = "erreur"

        }
...