textfield限制字?jǐn)?shù)的輸入

當(dāng)截取限制的字符最后一個(gè)是表情時(shí),如果使用下面的方法

contentString = [contentString substringToIndex:limitNum];

則會將表情截半,保存會崩潰,可以使用下面的方法來替換

+ (void)textField:(UITextField*)textField limitWordNum:(NSInteger)limit {
  if (textField.markedTextRange == nil) {
    NSString* contentString = textField.text;
    if (contentString.length > limit) {
      // 防止將emoj表情截取一半導(dǎo)致崩潰。 因emoji長度不一定是2位也有可能是4位
      NSRange rangeIndex =
      [contentString rangeOfComposedCharacterSequenceAtIndex:limit];
      contentString = [contentString substringToIndex:(rangeIndex.location)];
    }
    textField.text = contentString;
  }
}

這種做法將會導(dǎo)致最后只有一個(gè)字時(shí),如果輸入表情,則無法輸入進(jìn)去。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容