小记

1.添加划线(对象方法), NSString的分类:
- (NSMutableAttributedString *)addCancelLine {
    NSMutableAttributedString *attri = [[NSMutableAttributedString alloc] initWithString:self];
    [attri addAttributes:@{NSStrikethroughColorAttributeName : [UIColor redColor], NSStrikethroughStyleAttributeName : [NSNumber numberWithInteger:NSUnderlineStyleSingle]} range:NSMakeRange(0, self.length)];
    return attri;
}
label.attributedText = [字符串 addCancelLine];
2. 去除字符串尾部的0 例如:$9.900
   - (NSString *)cleanDecimalPoint {
          NSString *newString = nil;
          NSUInteger offset = self.length - 1;
          while (offset > 0) {
          newString = [self substringWithRange:NSMakeRange(offset, 1)]; //从字符串最后一位开始取一位
          if ([newString isEqualToString:@"0"] || [newString isEqualToString:@"."]) {
                  offset--;
              } else {
                  break;
              }
      }
      return [self substringToIndex:(offset + 1)];
   }
3.数组中的内容倒数排列后产生新的装有倒序后的数组
NSArray *reversedArray = [[_contentArray reverseObjectEnumerator] allObjects];
4.根据总数量,每行最大显示数量计算总行数
NSInteger rowCount = (总数 + 每一行最大的数量 -1) / 每一行显示最多的个数
5.使用masonryh设置tableView的tableHeaderView的高度自适应
self.tableView.tableHeaderView = self.headerView;
CGFloat headerHeight = [self.headerView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height;
CGRect frame = self.headerView.frame;
frame.size.height = headerHeight;
self.headerView.frame = frame;
6. extension UIImage分类中定义: 压缩图片->Data
func smartCompressImage() -> Data? {
   let width = self.size.width
   let height = self.size.height
   var updateWidth = width
   var updateHeight = height
        
   let longSide = max(width, height)
   let shortSide = min(width, height)
        
   let scale = shortSide / longSide
    
    // 大小压缩
    if (shortSide < 1080 || longSide < 1080) { // 如果宽高任何一边都小于 1080
       updateWidth = width
       updateHeight = height
   } else { // 如果宽高都大于 1080
       if (width < height) { // 说明短边是宽
         updateWidth = 1080;
         updateHeight = 1080 / scale
      } else { // 说明短边是高
         updateWidth = 1080 / scale
         updateHeight = 1080;
      }
   }
        
   let compressSize = CGSize(width: updateWidth, height: updateHeight)
   UIGraphicsBeginImageContext(compressSize)
        
   self.draw(in: CGRect(x: 0, y: 0, width: compressSize.width, height: compressSize.height))
        
   let compressImage = UIGraphicsGetImageFromCurrentImageContext()
   UIGraphicsEndImageContext()
        
   // 质量压缩 50%
   let compressData = compressImage?.jpegData(compressionQuality: 0.5)
        
   return compressData;
  }

你可能感兴趣的:(小记)