--------------------
|
**** **** **** 1234 |
--------------------
如何在swift中部分掩蓋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
}
目的:我已經發布了我嘗試的。在確定textField的長度超過12之後,無法超過使用●12次的點。卡在這裏。要回答您的問題,它需要在輸入時顯示數字,但在下一個數字是鍵入時替換爲●。繼續相同的行爲,直到長度爲12,然後顯示從那裏到第16位的數字。
整個卡號是一串嗎?或者它是由4位數組成的4個不同的字符串? – Alex
整個卡號是一個字符串。 @Alex –
那麼它是否需要在輸入字符時顯示字符,並且在延遲後隱藏它或僅在鍵入時顯示星號? –