UILabel+Space.m 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. //
  2. // UILabel+Space.m
  3. // FornoWorld
  4. //
  5. // Created by RD on 2022/7/19.
  6. //
  7. #import "UILabel+Space.h"
  8. @implementation UILabel (Space)
  9. - (void)changeLineSpace:(float)space {
  10. NSString *labelText = self.text;
  11. NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:labelText];
  12. NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
  13. [paragraphStyle setLineSpacing:space];
  14. //paragraphStyle.alignment = NSTextAlignmentLeft;
  15. [attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [labelText length])];
  16. self.attributedText = attributedString;
  17. [self sizeToFit];
  18. }
  19. - (void)changeWordSpace:(float)space {
  20. NSString *labelText = self.text;
  21. NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:labelText attributes:@{NSKernAttributeName:@(space)}];
  22. NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
  23. [attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [labelText length])];
  24. self.attributedText = attributedString;
  25. [self sizeToFit];
  26. }
  27. - (void)changeSpaceWithLineSpace:(float)lineSpace WordSpace:(float)wordSpace{
  28. NSString *labelText = self.text;
  29. NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:labelText attributes:@{NSKernAttributeName:@(wordSpace)}];
  30. NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
  31. [paragraphStyle setLineSpacing:lineSpace];
  32. [attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [labelText length])];
  33. self.attributedText = attributedString;
  34. [self sizeToFit];
  35. }
  36. @end