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 <=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(@"%@",str);
return textField.text.length <=19;
</code></pre></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>在你的委托(delegate)方法中试试这个,这是另一种方法</p>
<pre><code>if (textField.text.length < 19 && !) {
NSString *tempoText = textField.text;
tempoText = ;
if (tempoText.length >= 4) {
NSMutableString *mutString = ;
NSUInteger len = mutString.length / 4;
int j = 0;
for (int i = 1; i <= 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]