zoukankan      html  css  js  c++  java
  • 含软连字符的字符串计算显示长度的问题


    另一个问题是群里碰到的一个问题。当字符串为软连字符划线字符开头一些组合时,计算长度时会出现负无穷大(-inf)。如下面代码:

    NSString *string = @"u00ADu0336u00ADu0336测试";
    CGSize size = [string sizeWithFont:[UIFont systemFontOfSize:14]];
    NSLog(@"%@",NSStringFromCGSize(size));
    

    输出是:

    2014-04-02 11:52:46.290 Test[3499:907] {-inf, 18}
    

    而我们经常会根据计算出的文字大小来布局视图,如果你遇到这些字符串,而且没有对-inf进行特殊处理的话,很有可能App就运行异常了。现在App有很多用户自行输入内容,如评论,信息等,这些很容易让一些恶意用户输入并上传这些bug文本,那么你的App就很容易异常了,所以还是有必要进行一些特殊处理的。这些特殊的字符串一般不会由本地App产生,而是用户产生,建议在服务器端处理。本地简单的处理方法就是Trim一下:

    string = [string stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithRange:NSMakeRange(0xAD, 1)]];
  • 相关阅读:
    项目数据分析师CPDA印章
    一点想法
    该减肥啦
    PMP证书到手
    Google App Engine之初体验
    转K线理论初级三
    黄小琥没那么简单
    使用webapp框架再现Hello World
    Google App Engine之介绍篇
    转股票中KDJ线的详细分析
  • 原文地址:https://www.cnblogs.com/zsw-1993/p/4879417.html
Copyright © 2011-2022 走看看