iOS 字符串长度计算boundingRectWithSize的小bug

  在IM的后期测试时发现,尽管模拟器键盘上没有换行符,但如果用户使用的搜狗输入法之类包含有换行进行输入,屏幕上输出的气泡仅为最小。debug后发现原来是计算字符串长度时出现错误,用户输入的换行符在string中为\r ,而iOS中无论是7.0被放弃的sizeWithFont方法还是新的boundingRectWithSize方法都在计算包含\r字符串时返回0。

  在计算字符串长度时过滤掉\r可以修复这个bug,同时不会影响最终结果显示。

text = [[text componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"\r"]] componentsJoinedByString:@""];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容