0
テキストフィールドの先頭に$記号を追加しようとしています。文字カウントが1の場合、$記号は表示されませんが、文字数がゼロの場合は、$記号が非表示になり、プレースホルダテキストが表示されます。私はコードを持っていますが、動作しません。 $記号は表示されません。手伝ってくれませんか。以下にコードを示します。テキストフィールドのプレフィックスが機能しない
override func viewDidLoad() {
super.viewDidLoad()
self.Price.delegate = self
didChangeText()
}
var amount: String {
get {
if self._amount.characters.count > 1 {
return (self._amount as NSString).substring(from: 2)
}
return ""
}
}
// MARK: - UITextField Observing
private var newVal: String = ""
private var _amount: String = ""
func didChangeText() {
if ((Price.text?.characters.count)! > 2) {
if Price.text?.range(of: "$ ") == nil {
Price.text = newVal
}
}
if ((Price.text?.characters.count)! == 1) && ((Price.text?.characters.count)! > newVal.characters.count) {
Price.text = "$ " + Price.text!
}
if ((Price.text?.characters.count)! == 2) && ((Price.text?.characters.count)! < newVal.characters.count) {
Price.text = ""
}
newVal = Price.text ?? ""
_amount = newVal
}
nilのあなたの必要性や設定leftviewあたりとして、それはそれを修正しませんでした。それは私が探していたものではありません。テキストフィールドに接頭辞を追加しようとしています –
ヨーロッパ、日本、およびその通貨に '$ '記号を使用しない国々の人々は、あなたのアプリに満足できないことに注意してください。そして、すべての国ではなく、数の前の通貨記号が、多くの後に置く。通貨に 'NumberFormatter'設定を使用してください。 – rmaddy
あなたは私がそれをどうすることができるか私に教えてください –