菜鸟教程小白 发表于 2022-12-12 22:31:33

ios - TextField 的最大字符数限制


                                            <p><p>我希望将用户可以在文本字段中输入的字符数量限制为 14。这是我找到文档的代码。</p>

<pre><code>func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -&gt; Bool {

    let currentCharacterCount = userNameTextField.text?.characters.count ?? 0
    if (range.length + range.location &gt; currentCharacterCount){
      return false
    }
    let newLength = currentCharacterCount + string.characters.count - range.length
    return newLength &lt;= 14
}
</code></pre>

<p>但我觉得我没有正确实现这一点。我已经设置了</p>

<pre><code>userNameTextField.delegate = self
</code></pre>

<p>在viewDidLoad中,我符合<code>UITextFieldDelegate</code>协议(protocol)。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您声明您使用的是 Swift 3。Swift 3 中许多方法的签名发生了变化。您需要使用:</p>

<pre><code>func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -&gt; Bool {
}
</code></pre>

<p>不是您问题中发布的旧签名。</p>

<p>如果它仍然没有被调用,那么你永远不会设置文本字段的 <code>delegate</code> 属性。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - TextField 的最大字符数限制,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/40025302/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/40025302/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - TextField 的最大字符数限制