Swift 启用点 - 使点再次可点击
Swift enable point - make a point be clickable again
我是初学者,我正在构建一个 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() //
}
您必须在 class 中添加一个 @IBOutlet
,这样您就可以从代码的不同部分访问此按钮,而不仅仅是它的操作方法。例如,将其添加到视图控制器的顶部:
@IBOutlet var pointButton:UIButton!
记得将按钮连接到故事板上的这个插座。
例如,您可以在 Enter()
方法中重新启用点按钮。像这样:
pointButton:UIButton.enabled = true
我是初学者,我正在构建一个 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() //
}
您必须在 class 中添加一个 @IBOutlet
,这样您就可以从代码的不同部分访问此按钮,而不仅仅是它的操作方法。例如,将其添加到视图控制器的顶部:
@IBOutlet var pointButton:UIButton!
记得将按钮连接到故事板上的这个插座。
例如,您可以在 Enter()
方法中重新启用点按钮。像这样:
pointButton:UIButton.enabled = true