2016-03-04 2 views
0

Я новичок, и я создаю калькулятор RPN. Я отключил ключевой ключ (не больше щелчка), если цифра, расположенная на дисплее, уже имеет точку. Как я могу включить его снова, нажав клавишу ввода? Потому что теперь он остается отключенным, даже если я нахожу другую цифру на дисплее. Поэтому, если я щелкнул ключом точки один раз для первой цифры, я не могу добавить точку для второй цифры моей операции.Быстрое включение точки - сделать точку можно снова щелкнуть

У меня есть этот код, чтобы добавить точку к цифре:

@IBAction func floatingPoint(sender: UIButton) { 
    labelDisplay.text = labelDisplay.text! + "." 
    sender.enabled = false //not clickable if the digit as already a point 
} 

У меня есть этот код для входа:

var enterPressed = false 
@IBAction func Enter() { 
    userHasStartedTyping = false 
    self.calcEngine!.operandStack.append(displayValue) 
    print("Operand Stack on engine = \(self.calcEngine!.operandStack)") 
} 

У меня есть этот код для операции:

@IBAction func operation(sender: UIButton) { 
    let operation = sender.currentTitle! 
    if userHasStartedTyping { 
     Enter() 
    } 
    self.displayValue = (self.calcEngine?.operate(operation))! 
    Enter() // 


} 

ответ

0

Вам нужно будет добавить @IBOutlet в свой класс, чтобы вы могли получить доступ к этой кнопке из разных частей вашей компании. de, а не только метод действия. Например, добавьте это в верхнюю часть контроллера вашего вида:

@IBOutlet var pointButton:UIButton! 

Не забудьте подключить кнопку к этой розетке на раскадровке.

С помощью этого параметра вы можете снова включить кнопку точки в вашем методе Enter(). Например:

pointButton:UIButton.enabled = true 
+0

спасибо, что он работает сейчас :) – kepi

Смежные вопросы