--------------------
|
**** **** **** 1234 |
--------------------
UITextFieldテキストを部分的にマスクする方法
あなたが言うことができるように、私は部分的にカード番号の最初の12桁をマスクしようとしているユーザータイプはUITextField
です。チャンク数を4で区切る方法を理解するのに多くの時間がかかりました。ここで取り組まなければならない課題は、セキュアエントリスタイルのマスクで最初の12桁をマスクすることです。
ご協力いただければ幸いです。ありがとうございました。
編集:私はこれまで試してみました
追加コード:
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
guard let text = textField.text else {
return true
}
//@"●"
let lastText = (text as NSString).replacingCharacters(in: range, with: string) as String
if txtCardNumber.text?.characters.count >= 12 {
txtCardNumber.text = "●●●● ●●●● ●●●●" // + String()
return true
}
return true
}
目的:私は、私が試みたものを掲載しています。 ●使用のポイントを過ぎても使えない●テキストの長さを決めた後12回フィールドが12以上ある。あなたの質問に答えるには、入力時に番号を表示する必要がありますが、次の番号がタイプのときは●で置き換えてください。長さが12になるまで同じ動作を続け、16桁目までの数字を表示します。
カード番号全体が1文字列ですか?それとも4桁の4桁の文字列ですか? – Alex
カード番号全体が1文字列です。 @Alex –
それは、入力時に文字を表示する必要がありますか遅れてそれを非表示にするか、入力時にアスタリスクを表示するだけですか? –