07/09/2018, 15:31

Tính chiều cao dự kiến của UILabel áp dụng cho trường hợp Show More.

Xin chào mọi người. Mình xin chia sẽ một UILabel Helper nhỏ dùng trong truờng hợp cần tính chiều cao của UILabel để xác định "Show More" button có nên được hiển thị hay không . Đây là helper của mình: Có một hạn chế ở helper này là bạn đã xác định được chiều rộng của UILabel. Mình sẽ khắc ...

Xin chào mọi người. Mình xin chia sẽ một UILabel Helper nhỏ dùng trong truờng hợp cần tính chiều cao của UILabel để xác định "Show More" button có nên được hiển thị hay không.

Đây là helper của mình:

Có một hạn chế ở helper này là bạn đã xác định được chiều rộng của UILabel. Mình sẽ khắc phục và update sau.

+ (float)expectedHeight:(NSString *)text awidth:(float)awidth font:(UIFont *)font;
{
  NSDictionary *attributesDictionary = [NSDictionary dictionaryWithObjectsAndKeys:
                                        font, NSFontAttributeName,
                                        nil];

  CGSize maximumLabelSize = CGSizeMake(awidth, 9999);

  CGRect expectedLabelRect = [text boundingRectWithSize:maximumLabelSize
                                                options:(NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading)
                                             attributes:attributesDictionary
                                                context:nil];
  CGSize *expectedLabelSize = &expectedLabelRect.size;

  return expectedLabelSize->height;
}

Hy vọng bài viết có ích. Cảm ơn mọi người!

0