iphone - 如何限制 5 个 UITextFields 中的字符数量

标签 iphone ios cocoa-touch

<分区>

Possible Duplicate:
iPhone SDK: Set Max Character length TextField

我有 5 个 UITextField,其中只允许有 6 个字符。如何将每个文本字段的输入限制为 6 个字符?我试过的任何其他代码都失败了,我没有找到修复它的方法,谢谢 :D 编辑:这是我测试的代码:

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    NSUInteger newLength1 = [serie1.text length] + [string length] - range.length;
    NSUInteger newLength2 = [serie2.text length] + [string length] - range.length;
    NSUInteger newLength3 = [serie3.text length] + [string length] - range.length;
    NSUInteger newLength4 = [serie4.text length] + [string length] - range.length;
    NSUInteger newLength5 = [serie5.text length] + [string length] - range.length;

    if(newLength1 > 6)
        return NO;
    if(newLength2 > 6)
        return NO; 
    if(newLength3 > 6)
        return NO; 
    if(newLength4 > 6)
        return NO; 
    if(newLength5 > 6)
        return NO;

    return YES;
}

-(BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    if(serie1.text.length >= 6 && range.length == 0) {
        return NO;

    }
    if(serie2.text.length >= 6 && range.length == 0) {
        return NO;

    }
    if(serie3.text.length >= 6 && range.length == 0) {
        return NO;

    }
    if(serie4.text.length >= 6 && range.length == 0) {
        return NO;

    }
    if(serie5.text.length >= 6 && range.length == 0) {
        return NO;

    }
    return YES;
}

两者都有一个问题,当你写了 6 个字符时,你就不能再在任何其他文本字段上写了,除非你删除你写的字符

最佳答案

-(BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
   if(textField.text.length >= 7 && range.length == 0)  
   {
      return NO;
   }
   return YES;
}

关于iphone - 如何限制 5 个 UITextFields 中的字符数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7203049/

相关文章:

ios - 从 iOS 8.2 开始,时间准确性有所提高?

ios - 如何用Xcode从苹果源代码编译CoreFoundation?

iphone - 查找 UIImage 文件类型

objective-c - 如何在 tableView 单元格中显示多行

cocoa-touch - 在 iPad 上处理大型视频源

ios - ipatool 失败,出现异常 : #<CmdSpec: NonZeroExcitException>: Command exited with pid 69299 exit 1:

iphone - 由于 NSManagedObjectContext 保存而更新 NSFetchedResultsController 时延迟 UITableView 更新

iphone - 导航 Controller 不旋转

iphone - 应用内购买,多个具有不同持续时间的自动续订订阅

带有新 Firebase 的 iOS 自定义 Facebook 登录按钮