content.boundingRectWithSize计算出来的高度不准

计算出来的高度会少一行的高度,最后一行会显示不全。减掉padding会解决这个问题。

let padding = self.reviewText.textContainer.lineFragmentPadding

let actualWidth = DishReviewViewController.fullWidth - padding * 2

var height = UXHelper.calculateHeightToFitAttributedString(reviewText, width: actualWidth)

static func calculateHeightToFitAttributedString(content: NSAttributedString, width: CGFloat) -> CGFloat {

return self.calculateSizeToFitAttributedString(content, width: width, height: CGFloat(FLT_MAX)).height

}

static func calculateSizeToFitAttributedString(content: NSAttributedString, width: CGFloat, height: CGFloat) -> CGSize {

return content.boundingRectWithSize(CGSizeMake(width, height), options: [NSStringDrawingOptions.TruncatesLastVisibleLine, NSStringDrawingOptions.UsesLineFragmentOrigin], context:nil).size

}

时间: 2024-11-10 10:44:15

content.boundingRectWithSize计算出来的高度不准的相关文章

使用boundingRectWithSize计算内容高度的坑

iOS中,根据给定的内容.字体,宽度,计算文本高度的函数,iOS7之前使用sizeWithFont,iOS7之后使用boundingRectWithSize.</span> - boundingRectWithSize:options:attributes:context: Calculates and returns the bounding rect for the receiver drawn using the given options and display characteris

IOS 计算UILable字符串高度

IOS7 之前 截取了部分 @interface ZGViewCell () @property (nonatomic, strong) UILabel *nameLable; @end - (UILabel *)nameLable{ if (_nameLable == nil) { _nameLable = [[UILabel alloc] init]; [self.contentView addSubview:_nameLable]; // _nameLable.backgroundColo

iOS开发动态计算cell的高度

在iOS开发过程中,我们经常会用到UITableView, 谈到UITableView当然少不了UITableViewCell.那么有时候我们就会有疑惑,怎么样才能让cell的高度根据文字的大小多少,以及照片的高度来动态设计呢? 下面我们来看一下,到底怎么做才能让cell的高度动态变化,让界面看起来更美观协调一些呢? //动态设置cell的高度 + (CGFloat)heightForRowWithModel:(PhotoInfo *)photoInfo { //1.图片的高度 //让图片等比例

用Model来计算cell的高度

效果: 将计算cell高度的方法直接移植到Model当中,初始化的瞬间就计算好了高度,非常好用! 源码: Model // // Model.h // // Copyright (c) 2014年 Y.X. All rights reserved. // #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface Model : NSObject @property (nonatomic, strong)

iOS不得姐项目--精华模块上拉下拉的注意事项,日期显示,重构子控制器,计算cell的高度(只计算一次),图片帖子的显示

一.上拉下拉注意事项 使用MJRefresh中的上拉控件自动设置透明 当请求下页数据通过page的时候,注意的是上拉加载更多数据失败的问题,下拉加载数据失败了,页数应该还原.或者是请求成功的时候再将页数修改 二.帖子中的日期显示问题(操作日期的两个类的使用) 期望达到的效果:如图 <1>NSDate -- 需要通过NSDateFormatter(日期格式类)将日期转换成相同的格式,才能相互运算,计算出来的时间间隔是以秒数来呈现的. <2>NSCalendar(日历类) -- 通过当

简单计算字符串的高度

计算字符串的高度有很多种,这里写下最常用的简单计算字符串的高度 // // NSString+NSStringExt.h // UIFontSize // // Created by mac on 15/11/14. // Copyright (c) 2015年 叶炯. All rights reserved. // #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface NSString (NSSt

计算文本的高度

计算文本的高度分两种情况,指定文本只有1行和多行,可以写方法返回字符串的size,options通常使用NSStringDrawingUsesLineFragmentOrigin,这样整个文本将以单行文本的矩形来计算整个文本高度 ①文字显示一行 -(CGSize)sizeOneLineText:(NSString *)text font:(UIFont *)font{ CGSize textSize = [text boundingRectWithSize:CGSizeMake(CGFLOAT_

IOS7中动态计算UILable的高度

.h文件 #import <UIKit/UIKit.h> @interface UILabel (ContentSize) - (CGSize)contentSize; @end .m文件 #import "UILabel+ContentSize.h" @implementation UILabel (ContentSize) - (CGSize)contentSize { NSMutableParagraphStyle * paragraphStyle = [[NSMut

IOS之xib计算cell的高度

1.之前是纯代码计算cell的高度,现在就是在cell里面成创建好了控件的位置,然后需要计算cell的内容的高度,图片的类型是一样的计算方法.先看看cell的布局情况:如图所示: 计算的高度的方式:头像的高度+内容的高度 +(有如图片就加上图片的高度,没有就不加了)= cell高度 这里就是要计算content的高度了,其他的都写死了直接加上就行了,关键就是计算cell如图计算: Demo下载:http://pan.baidu.com/s/1hspqwp2