1
我正在教我自己,快一个星期半左右。我正在试图制造一个从英寸到厘米的转换器。我有两个文本框,一个用英寸打一个,一个用厘米打。当您在其中键入其中一个时,您可以点击计算,它会为您提供英寸或厘米的转换。我遇到的问题是,如果你填写一个,然后你决定宁愿看到另一个度量单位,那么这些数字仍然是输入的,而且按钮不起作用。如果用户决定使用其他字段,我如何清除文本字段?在第二个字段中输入时使第二个文本字段清晰的Swift代码
也不知道是否有可能与我上传的代码,但我宁愿摆脱转换按钮都在一起,所以当用户键入单位或其他立即填写标签下面。这可能吗?
这是目前为止的代码。
import UIKit
class ViewController: UIViewController, UITextViewDelegate{
@IBOutlet weak var InchesField: UITextField!
@IBOutlet weak var CentimetersField: UITextField!
@IBOutlet weak var ConversionLabel: UILabel!
//Only let 1 decimal point
let numberFormatter: NumberFormatter = {
let nf = NumberFormatter()
nf.numberStyle = .decimal
nf.minimumFractionDigits = 0
nf.maximumFractionDigits = 1
return nf
}()
@IBAction func ConversionButton1(_ sender: AnyObject) {
if InchesField.text == "" || CentimetersField.text == "" {
//either inchfield or centimetersfield text is empty
ConversionLabel.text = String("Please enter a number")
}
if let text = InchesField.text, !text.isEmpty
{
//do something if it's not empty
let inch = Double(InchesField.text!)
let inCmConvertor = inch! * 2.54
ConversionLabel.text = String("\(inCmConvertor) Centimters")
} else
if let text = CentimetersField.text, !text.isEmpty
{
let centimeter = Double(CentimetersField.text!)
let cmInConvertor = centimeter!/2.54
ConversionLabel.text = String("\(cmInConvertor) Inches")
}
}
}
好的,非常感谢您的快速回复!我从故事板到控制器的药物,并做出如上所述的动作func,但是当我完成时,我得到错误 无法指定'string'类型的值来键入'UITextField!'。 –
没关系我错过了那个我的错误的文字部分 –
现在如果我想要拿走角色呢。如果有人不小心碰到一个角色,它会使程序崩溃。我知道这与NSRange或者沿着这些线的东西有关 –