ios - SwiftUI,使用按钮将文本字段内的值相乘
问题描述
我是编码、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
不执行按钮的操作。只是想弄清楚我哪里出错了。
解决方案
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
})
推荐阅读
- c - 在 Debian CMake 中找不到“libmosquitto”
- java - 简单 Java 程序中的字符串输入被忽略
- javascript - 如果 PDFMake 中的值为空,则隐藏表格内容
- r - “平均绝对误差时间序列数据矩阵”
- apache-spark - 拆分 Spark 平面图
- sql - SQL Server 2019 存储过程中的 XML 节点需要 where 子句
- r - 如何在 rgl (R) 中绘制带有图例的 3D
- javascript - 为映射列表中的每个项目呈现承诺值
- amazon-web-services - 亚马逊 ses 妥协了?
- javascript - 可以将动态 html 表用作源数据吗?