私は約1週間半速く自分自身を教えています。私はインチからセンチメートルに行くコンバータを作ろうとしています。私は2つのテキストフィールドを持っています.1つはインチでパンチ、もうひとつはセンチメートルです。あなたがそれらの1つをタイプすると、計算がヒットし、それはあなたにインチまたはセンチメートルの変換を与えます。私が取り組んでいる問題は、あなたが入力して、あなたがむしろ他の測定単位を見ると決めた場合、数字はまだ入力されており、ボタンは実際には機能しません。ユーザーが代わりに他のフィールドを使用することを決定した場合、どのようにテキストフィールドをクリアにすることができますか?2番目のテキストフィールドに入力するときに2番目のテキストフィールドをクリアするスウィフトコード
アップロードしているコードで可能かどうかもわかりませんでしたが、私は変換ボタンを一括して取り除きたいので、ユーザーがユニットに入力するか、もう片方がすぐにラベルを埋めます以下。これは可能ですか?
ここまでのコードです。あなたが何をしたいか
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'型に割り当てることができない –
Nevermind私はthe.textの部分を見逃していました。 –
文字を取り除きたいのですが。誰かが誤ってキャラクターに当ると、プログラムがクラッシュします。私はそれがNSRangeまたはそれらの行に沿った何かと関係があることを知っています –