首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何限制XLForm中的字符数?

如何限制XLForm中的字符数?
EN

Stack Overflow用户
提问于 2019-01-08 20:11:18
回答 1查看 107关注 0票数 0

我使用XLFormTextViewMaxNumberOfCharacters:@(5) row.cellConfigAtConfigure :XLFormTextViewMaxNumberOfCharacters invaild

代码语言:javascript
复制
row = [XLFormRowDescriptor formRowDescriptorWithTag:kHouseTitle rowType:XLFormRowDescriptorTypeTextView title:@"HouseTitle"];
row.value = self.houseInfo.title;
[row.cellConfigAtConfigure setObject:@(5) forKey:XLFormTextViewMaxNumberOfCharacters];
[section addFormRow:row];

因为我需要不同长度的行。现在我找到了处理它的方法。

代码语言:javascript
复制
-(UITextField *)getCurrentTextFiledWithRow:(XLFormRowDescriptor *)row {
XLFormBaseCell *cell = [row cellForFormController:self];
if ([cell isKindOfClass:[XLFormTextFieldCell class]]) {
    XLFormTextFieldCell *xlFormTextFieldCell = (XLFormTextFieldCell *)cell;
    return xlFormTextFieldCell.textField;
}
else {
    return nil;
}

}

代码语言:javascript
复制
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
XLFormRowDescriptor *buildingAreaRow = [self.form formRowWithTag:kBuildingArea];
XLFormRowDescriptor *livingAreaRow = [self.form formRowWithTag:kLivingArea];
XLFormRowDescriptor *housePriceRow = [self.form formRowWithTag:kHouseCellingPrice];
NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string];

if ([self getCurrentTextFiledWithRow:buildingAreaRow] == textField) {
    if(newString.length > 4){
        return NO;
    }
}
else if ([self getCurrentTextFiledWithRow:livingAreaRow] == textField) {
   // TODO
}
else if([self getCurrentTextFiledWithRow:housePriceRow] == textField) {
   //TODO
}
return YES;

}

EN

回答 1

Stack Overflow用户

发布于 2019-01-08 21:11:01

我想你可以这样用。

代码语言:javascript
复制
NSString *const XLFormTextViewMaxNumberOfCharacters = @"textViewMaxNumberOfCharacters";

 - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text 
{
 if (self.textViewMaxNumberOfCharacters) 
  {
    // Check maximum length requirement
    NSString *newText = [textView.text stringByReplacingCharactersInRange:range withString:text];
    if (newText.length > self.textViewMaxNumberOfCharacters.integerValue) {
        return NO;
    }
 }

//perform based on your need
  return [self.formViewController textView:textView shouldChangeTextInRange:range replacementText:text];
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54091562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档