字符串

* 中英文混合字符串截取

- (NSString *)subStringByByteWithIndex:(NSInteger)index {
  NSInteger sum = 0;
  NSString *sourceStr = @"";
  NSString *subStr = [[NSString alloc] init];

  for(int i = 0; i<[sourceStr length]; i++) {
      unichar strChar = [sourceStr characterAtIndex:i];
      if(strChar < 256) {
        sum += 1; 
      } else {
        sum += 2;
      }
      if (sum >= index) {
        subStr = [sourceStr substringToIndex:i+1];
        return subStr;
      }   
   }
    return subStr;
  }

* 获取字符串字节数

 - (int)getByteNum:(NSString *)string {
    int strlength = 0;
    char* p = (char*)[string cStringUsingEncoding:NSUnicodeStringEncoding];

    for (int i=0 ; i<[string lengthOfBytesUsingEncoding:NSUnicodeStringEncoding] ;i++) {
        if (*p) {
          p++;
          strlength++;
        } else {
          p++;
        }
     }
    return strlength;
 }

* 多行字符串,最后一行的中间处省略多余字符

  UILabel *txtLabel = [[UILabel alloc] init];
  txtLabel.frame = CGRectMake(15, 460, 345, 100);
  txtLabel.numberOfLines = 2;
  txtLabel.backgroundColor = [UIColor cyanColor];
  [self.view addSubview:txtLabel];

  NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:@"上海东方明珠广播电视塔上海东方明珠广播电视塔上海东方明珠广播电视塔上海东方明珠广播电视塔上海东方明珠广播电视塔上海东方明珠广播电视塔"];
  NSMutableParagraphStyle *paraph =  [[NSMutableParagraphStyle alloc] init];
  paraph.baseWritingDirection = NSWritingDirectionRightToLeft;
  paraph.headIndent = 120;
  [attrStr addAttribute:NSParagraphStyleAttributeName value:paraph range:NSMakeRange(0, attrStr.length)];
  txtLabel.attributedText = attrStr;
  txtLabel.lineBreakMode = NSLineBreakByTruncatingTail;

效果如下:
屏幕快照 2018-09-18 下午5.17.59.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 王上的《青春大概》说青春,大概,好像于时光年华的流逝,于过往所经的日常,历经数年后,那些曾在各自的青春里摸爬滚打过...
    未渡先搁浅阅读 825评论 0 0
  • 官网部分【已完成】Pro2发布会报名页【已完成】产品页用户观看屏数统计【已完成】产品页弹窗收集用户邮箱【进行中】P...
    mowi阅读 847评论 0 0
  • 如果说在这个陌生的城市还有一个真正帮我的人,那就是林阡陌和莫如雪。 林阡陌,我早已经把他当成是我的兄弟,虽...
    漠予归尘阅读 3,051评论 0 3
  • 时光就像一条漫无边际的河流,缓缓地流淌着。看似无害,却在无形间镌刻着属于我们的岁月。 最近“十八岁”这个词成了一个...
    木锦萱阅读 4,882评论 10 9