菜鸟教程小白 发表于 2022-12-13 13:38:35

ios - 如何在 UITextField 之间放置一个字符


                                            <p><p>我正在尝试在 <code>UITextField</code> 中使用 enter 后添加 <code>-</code>。情况是添加信用卡/借记卡号码。我已经四处搜索,但据我所知,这些方法无效。我在 <code>delegate</code> 方法中将限制设置为 <code>19</code> 个字符,即 16 个卡号和 3 个 <code>-</code>:<br/></p>

<pre><code>- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSUInteger length = [ length] - range.length + string.length;
return textField.text.length &lt;=19;
}
</code></pre>

<p>所以现在 <code>length</code> 给了我确切的长度 if <code>UITextField</code> 当时。现在哪个工作正常我需要知道如果此字段达到 <code>3</code>、<code>7</code> 或 <code>11</code> 添加 <code>-</code> 在字段中。将输入的所有卡片都采用这种格式 <code>xxxx-xxxx-xxxx-xxxx</code> 所以这就是我想要在 4 个字符后添加 <code>-</code> 的方法。
<br/>我也在 <code>delegate</code> 方法中尝试过这个方法,但没有成功:</p>

<pre><code>NSNumberFormatter *formatter = [ init];
      ;
      ;
      ;

      NSString *num = textField.text ;
      num= ;
       NSString *str = ]];
      textField.text=str;
      NSLog(@&#34;%@&#34;,str);

      return textField.text.length &lt;=19;
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>在你的委托(delegate)方法中试试这个,这是另一种方法</p>

<pre><code>if (textField.text.length &lt; 19 &amp;&amp; !) {
    NSString *tempoText = textField.text;
    tempoText = ;

    if (tempoText.length &gt;= 4) {
      NSMutableString *mutString = ;
      NSUInteger len = mutString.length / 4;

      int j = 0;
      for (int i = 1; i &lt;= len; i ++) {

            NSUInteger index = 4 * i;
            index += j;
            j++;
            ;

      }

      tempoText = mutString;
    }

    ;
    return YES;
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何在 UITextField 之间放置一个字符,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/34893579/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/34893579/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何在 UITextField 之间放置一个字符