iOS文本高度计算

文本高度计算:此方法适用于根据不同的文字长短,设置与文字相同的size

//****************************************************************************************************************//

//***************************************************************************************************************//

//*********************************************计算文本高度 ********************************************************//

//***************************************************************************************************************//

//**********************************************************************笨笨编程 **********************************//

//***************************************************************************************************************//

/**

*  param: string:需要计算的文本text

*  param: font :文本显示的字体大小

*  param: maxSize:文本显示的范围

*  return: 文本占用的真实宽高

*/

- (CGSize)sizeWithString:(NSString *)string font:(UIFont *)font maxSize:(CGSize)maxSize{

NSDictionary *dict = @{NSFontAttributeName : font};

CGSize size = [string boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:dict context:nil].size;

return size;

}

//****************************************************************************************************************//

- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes context:(NSStringDrawingContext *)context NS_AVAILABLE_IOS(7_0);

//size: 用于计算文本绘制时占据的矩形块。日常使用经常是宽度设置为一个固定值,然后高度为CGFLOAT_MAX(无限大的一个数值)//options:文本绘制时附加选项,可以附加使用。这里是官方API文档

typedef NS_OPTIONS(NSInteger, NSStringDrawingOptions) {

NSStringDrawingTruncatesLastVisibleLine = 1 << 5, // 如果文本内容超出指定的矩形限制,文本将被截去并在最后一个字符后加上省略号。(Truncates and adds the ellipsis character to the last visible line if the text doesn‘t fit into the bounds specified. Ignored if NSStringDrawingUsesLineFragmentOrigin is not also set.)

NSStringDrawingUsesLineFragmentOrigin = 1 << 0, // 该选项被忽略(The specified origin is the line fragment origin, not the base line origin)

NSStringDrawingUsesFontLeading = 1 << 1, // 计算行高时使用行间距,字体大小+行间距 = 行高(Uses the font leading for calculating line heights)

NSStringDrawingUsesDeviceMetrics = 1 << 3, //使用图片上的文字大小代替印刷上的文字大小(Uses image glyph bounds instead of typographic bounds)

} NS_ENUM_AVAILABLE_IOS(6_0);

//attributes:文字的属性。必须设置字体的大小,注意这时是字典下的UIFont类型的。
//comtext:    context上下文,常设为nil。 

//******************************************参见iOS开发章鱼哥*********************************************************//

//**************************************http://www.jianshu.com/p/155f9065f6d1****************************************//

时间: 2024-10-09 23:24:51

iOS文本高度计算的相关文章

【iOS】UILabel多行文本的高度计算

平时这些代码用的时候,总是要搜索查阅,自己索性整理下记一笔,节约生命. 实现是直接给NSString类添加一个分类,并添加了计算文本高度的两个方法: 声明代码: 1 #import <Foundation/Foundation.h> 2 3 @interface NSString (Size) 4 5 /** 6 * 计算单行文本的高度 7 */ 8 - (CGFloat)heightWithLabelFont:(UIFont *)font; 9 /** 10 * 计算多行文本的高度 11 *

iOS UITextView 高度随文字自己主动添加,并尾随键盘移动(二)

上节地址:http://blog.csdn.net/lwjok2007/article/details/47401293 接着上节我们来实现 输入框自己主动调节高度 首先,我们得知道,要推断是否该换行了 前提是得知道 一行能够输入多少文字, 我们非常easy能知道我们输入框的宽度,那么下来仅仅要知道每一个文字的宽度就能够计算一行文字的个数了 然后依据文字文字高度计算每超过一行我们须要给textView 加入的高度 首先要计算每一个文字的宽度和高度(我们依照正方形处理) 我们用到了 一个方法 si

优化UITableViewCell高度计算的那些事

本文转载至 http://blog.sunnyxx.com/2015/05/17/cell-height-calculation/ 我是前言 这篇文章是我和我们团队最近对 UITableViewCell 利用 AutoLayout 自动高度计算和 UITableView 滑动优化的一个总结.我们也在维护一个开源的扩展,UITableView+FDTemplateLayoutCell,让高度计算这个事情变的前所未有的简单,也受到了很多星星的支持,github链接请戳我 这篇总结你可以读到: UIT

iOS UITextView 高度随文字自动增加,并跟随键盘移动(二)

上节地址:http://blog.csdn.net/lwjok2007/article/details/47401293 接着上节我们来实现 输入框自动调节高度 首先,我们得知道,要判断是否该换行了 前提是得知道 一行可以输入多少文字, 我们很容易能知道我们输入框的宽度,那么下来只要知道每个文字的宽度就可以计算一行文字的个数了 然后根据文字文字高度计算每超过一行我们需要给textView 添加的高度 首先要计算每个文字的宽度和高度(我们按照正方形处理) 我们用到了 一个方法 sizeWithAt

《转》优化UITableViewCell高度计算的那些事

我是前言 这篇文章是我和我们团队最近对 UITableViewCell 利用 AutoLayout 自动高度计算和 UITableView 滑动优化的一个总结.我们也在维护一个开源的扩展,UITableView+FDTemplateLayoutCell,让高度计算这个事情变的前所未有的简单,也受到了很多星星的支持,github链接请戳我 这篇总结你可以读到: UITableView高度计算和估算的机制 不同iOS系统在高度计算上的差异 iOS8 self-sizing cell UITableV

UITableViewCell 高度计算从混沌初始到天地交泰

[原创]UITableViewCell 高度计算从混沌初始到天地交泰 本文主要基予iOS UITableViewCell 高度自适应计算问题展开陈述,废话少说直入正题: UITableView控件可能是iOS中大家最常用的控件了(滚动视图.cell重用.卡顿优化),今天要讨论的不是这些高大上的话题,今天的话题只是cell高度的计算. * 传统frame布局下UITableViewCell 高度计算 * AutoLayout下UITableViewCell高度计算(iOS6.7) * UITabl

[转]优化UITableViewCell高度计算的那些事

我是前言 这篇文章是我和我们团队最近对 UITableViewCell 利用 AutoLayout 自动高度计算和 UITableView 滑动优化的一个总结.我们也在维护一个开源的扩展,UITableView+FDTemplateLayoutCell,让高度计算这个事情变的前所未有的简单,也受到了很多星星的支持,github链接请戳我 这篇总结你可以读到: UITableView高度计算和估算的机制 不同iOS系统在高度计算上的差异 iOS8 self-sizing cell UITableV

优化TableViewCell高度计算的问题

我是前言 这篇文章是我和我们团队最近对 UITableViewCell 利用 AutoLayout 自动高度计算和 UITableView 滑动优化的一个总结. 我们也在维护一个开源的扩展,UITableView+FDTemplateLayoutCell,让高度计算这个事情变的前所未有的简单,也受到了很多星星的支持,github链接请戳我 这篇总结你可以读到: UITableView高度计算和估算的机制 不同iOS系统在高度计算上的差异 iOS8 self-sizing cell UITable

优化UITableViewCell高度计算的那些事 by --胡 xu

这篇总结你可以读到: UITableView高度计算和估算的机制 不同iOS系统在高度计算上的差异 iOS8 self-sizing cell UITableView+FDTemplateLayoutCell如何用一句话解决高度问题 UITableView+FDTemplateLayoutCell中对RunLoop的使用技巧 UITableViewCell高度计算 rowHeight UITableView是我们再熟悉不过的视图了,它的 delegate 和 data source 回调不知写了