私は複利計算ツールを構築しました。アプリケーションがほぼ実行されている今、私は繰り返しを防止したいと思います。テキストフィールドに入力します。Swiftの小数点記号の繰り返しを停止する
私は三つのこと、以下の行っているが、それはより1桁区切り文字を入力してからユーザーを防止されていない:
- にテキストフィールドのデリゲートプロパティを接続しUITextFieldDelegateするクラスに準拠ビューコントローラ
は、元本、利息、FREQ、年のテキストフィールドに以下の機能を追加しました:
func principal(principal: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { let existingTextHasDecimalSeparator = principal.text?.rangeOfString(".") let replacementTextHasDecimalSeparator = string.rangeOfString(".") if existingTextHasDecimalSeparator != nil && replacementTextHasDecimalSeparator != nil { return false } else { return true } } func interest(interest: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { let existingTextHasDecimalSeparator = interest.text?.rangeOfString(".") let replacementTextHasDecimalSeparator = string.rangeOfString(".") if existingTextHasDecimalSeparator != nil && replacementTextHasDecimalSeparator != nil { return false } else { return true } } func freq(freq: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { let existingTextHasDecimalSeparator = freq.text?.rangeOfString(".") let replacementTextHasDecimalSeparator = string.rangeOfString(".") if existingTextHasDecimalSeparator != nil && replacementTextHasDecimalSeparator != nil { return false } else { return true } } func years(years: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { let existingTextHasDecimalSeparator = years.text?.rangeOfString(".") let replacementTextHasDecimalSeparator = string.rangeOfString(".") if existingTextHasDecimalSeparator != nil && replacementTextHasDecimalSeparator != nil { return false } else { return true } }
ご協力いただきましてありがとうございます。
おかげで..私は、すべての特定のテキストフィールドの実装を取り出して、正確に完全な署名が一つだけの機能を使用するためにチェックします。 – KawaiKx