修复了UITextField的字符长度

时间:2018-04-02 11:12:53

标签: ios objective-c iphone

如何在不使用委托方法的情况下限制fullOptJS的字符。我正在使用Error in get(as.character(FUN), mode = "function", envir = envir) :object '2013-12-09' of mode 'function' was not found ,其中我在单元格中有UITextField并在同一屏幕内的不同位置使用,我想限制某个位置UITableView上的文字字段。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

前段时间我遇到了同样的问题。但是,不使用委托是不正确的方法。你应该使用委托并根据位置控制行为。

  1. 在tableViewCell类中创建一个函数,让我们说是

    -(void)setMyCellTag:(NSInteger)tag
    {
        self.tag = tag;
    }
    
  2. 现在从 cellForRowAtIndexPath 函数调用此方法,

    [cell setMyCellTag:indexPath.row];
    
  3. 在UITextField委托方法中使用条件,

    if(self.tag == yourposition)
    {
       //Do Something
    }
    
  4. 简单。谢谢你的阅读。

答案 1 :(得分:1)

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool
{
    let currentCharacterCount = textField.text?.characters.count ?? 0
    if (range.length + range.location > currentCharacterCount){
        return false
    }
    let newLength = currentCharacterCount + string.characters.count - range.length
    return newLength <= 1 // set your limit
}

确保textfield delegate