}
}
/**
* 设置子控件的frame
*/
- (void)settingFrame
{
// 设置头像的frame
self.iconView.frame = self.weiboFrame.iconF;
// 设置昵称的frame
self.nameLabel.frame = self.weiboFrame.nameF;
// 设置vip的frame
self.vipView.frame = self.weiboFrame.vipF;
// 设置正文的frame
self.introLabel.frame = self.weiboFrame.introF;
// 设置配图的frame
if (self.weiboFrame.weibo.picture) {// 有配图
self.pictureView.frame = self.weiboFrame.pictrueF;
}
}
/**
* 计算文本的宽高
*
* @param str 需要计算的文本
* @param font 文本显示的字体
* @param maxSize 文本显示的范围
*
* @return 文本占用的真实宽高
*/
- (CGSize)sizeWithString:(NSString *)str font:(UIFont *)font maxSize:(CGSize)maxSize
{
NSDictionary *dict = @{NSFontAttributeName : font};
// 如果将来计算的文字的范围超出了指定的范围,返回的就是指定的范围
// 如果将来计算的文字的范围小于指定的范围, 返回的就是真实的范围
CGSize size = [str boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:dict context:nil].size;
return size;
}
@end
NJWeiboFrame.h文件
复制代码
// 专门用来保存每一行数据的frame, 计算frame
#import <Foundation/Foundation.h>
@class NJWeibo;
@interface NJWeiboFrame : NSObject
/**
* 头像的frame
*/
@property (nonatomic, assign) CGRect iconF;
/**
* 昵称的frame
*/
@property (nonatomic, assign) CGRect nameF;
/**
* vip的frame
*/
@property (nonatomic, assign) CGRect vipF;










