Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.61 KB | None | 0 0
  1. newSize = [_cell.detailedTextView sizeThatFits:CGSizeMake(CGRectGetWidth(_cell.detailedTextView.bounds), CGRectGetHeight(_cell.detailedTextView.bounds))];
  2.  
  3. + (CGFloat)gettextViewHeight:(UITextView*)textView
  4. {
  5. CGSize constraint = CGSizeMake(textView.frame.size.width, 20000.0f);
  6. CGSize size;
  7.  
  8. NSStringDrawingContext *context = [[NSStringDrawingContext alloc] init];
  9. CGSize boundingBox = [textView.text boundingRectWithSize:constraint
  10. options:NSStringDrawingUsesLineFragmentOrigin
  11. attributes:@{NSFontAttributeName:textView.font}
  12. context:context].size;
  13.  
  14. size = CGSizeMake(ceil(boundingBox.width), ceil(boundingBox.height));
  15.  
  16. return size.height;
  17. }
  18.  
  19. func height(of string: String, in textView: UITextView) -> CGFloat
  20. {
  21. let font = textView.font ?? UIFont.preferredFont(forTextStyle: .headline)
  22. let width = textView.bounds.size.width - 2.0 * textView.textContainer.lineFragmentPadding
  23. let size = CGSize(width: width,
  24. height: CGFloat.greatestFiniteMagnitude)
  25. let height = string.boundingRect(with: size,
  26. options: [.usesLineFragmentOrigin, .usesFontLeading],
  27. attributes: [NSAttributedString.Key.font: font],
  28. context: nil).size.height
  29. let insets = textView.textContainerInset.top + textView.textContainerInset.bottom
  30. let diff = ceil(font.ascender - font.capHeight)
  31. return height + insets + diff
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement