SwiftUI,使用按钮将文本字段内的值相乘
Posted
技术标签:
【中文标题】SwiftUI,使用按钮将文本字段内的值相乘【英文标题】:SwiftUI, using a button to multiply values inside textfields 【发布时间】:2020-06-15 09:23:29 【问题描述】:我是编码、Swift 和 Xcode 的新手。我正在创建一个应用程序,它将乘以 3 个值(长度、宽度、高度)来计算特定对象的体积。
该应用程序的最终目标是能够计算许多对象的体积,并拥有一个“总”值,该值将为您累积累加体积。开始我的应用程序我有一个排序的布局,其中包括用户将在其中输入值(长度、宽度、高度)的三个文本字段和一个具有“Total =”的文本。我已成功使用以下方法使文本字段接受双精度:
TextField("length", value: $length, formatter: NumberFormatter())
我正在使用一个按钮来执行乘法运算:
Button(action: self.equation = self.length * self.width * self.thickness)
还有一个Text
将显示值:
Text("Total= \(equation)")
不幸的是,当我运行应用程序时,将值插入每个文本字段并点击按钮“Total=”Text
不执行按钮的操作。只是想弄清楚我哪里出错了。
【问题讨论】:
【参考方案1】:TextField
with formatter 在显式提交之前不会应用输入字符串,因此请尝试以下操作
extension UIApplication // just helper extension
static func endEditing()
UIApplication.shared.sendAction(#selector(UIResponder.resignFirstResponder), to:nil, from:nil, for:nil)
和
Button(action:
UIApplication.endEditing() // << here !!
self.equation = self.length * self.width * self.thickness
)
【讨论】:
感谢您的回复,我在哪里插入这段代码 extension UIApplication // 只是辅助扩展 static func endEditing() UIApplication.shared.sendAction(#selector(UIResponder.resignFirstResponder), to:nil, from:nil, for:nil) @johnboumelhem,全球空间中的任何地方(即任何类/结构/等之外)以上是关于SwiftUI,使用按钮将文本字段内的值相乘的主要内容,如果未能解决你的问题,请参考以下文章