2017-12-13 17 views
0

私はこのコードを使用しますが、誰にも返さなければなりません。しかし、私はこの2つのシナリオを使用する必要があります。だから、私はこれをどのように変更できますか?誰でも助けてください。私は私がこれをどのように行うことができます。(0.0シンボルを制限すると同時に、唯一の4桁の量を可能にした。???swift3.0を使用してuitextfieldに最大4桁の数字を設定する方法

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool { 

    guard let text = amountField.text else { return true } 
    let newLength = text.characters.count + string.characters.count - range.length 
    return newLength <= 4 // Bool 

    let ACCEPTABLE_CHARACTERS = "1234567890" 
    let cs = CharacterSet(charactersIn: ACCEPTABLE_CHARACTERS).inverted 
    let filtered: String = string.components(separatedBy: cs).joined(separator: "") 
    return string == filtered 



} 

答えて

0

あなたの問題の解決策を。

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool { 

    var newLength = string.utf16.count - range.length 

    if let text = textfield.text { 
     newLength = text.utf16.count + string.utf16.count - range.length 
    } 

    let characterSet = NSMutableCharacterSet() 
    characterSet.addCharacters(in: "1234567890") 

    if string.rangeOfCharacter(from: characterSet.inverted) != nil || newLength > 4 { 
     return false 
    } 
    return true 
} 
+1

ありがとう.. @ Gienadij Mackiewicz – mouni

関連する問題