frame模型

#import "CZWeiboFrame.h"

#import "CZWeibo.h"

@implementation CZWeiboFrame

#define KPadding 10

#define KIconImageViewWH 30

#define KVipImageViewWH 15

#define KPicImageViewWH 70

 

-(void)setWeibo:(CZWeibo *)weibo

{

    _weibo = weibo;

 

    

    

    //1.用户头像的frame;

    self.iconImageViewFrame = CGRectMake(KPadding, KPadding, KIconImageViewWH, KIconImageViewWH);

    

    

    //2.设置用户名字的frame

    //2.1 获取字符串信息

    NSString *userNameStr = weibo.name;

    //2.2根据字符串内容计算宽高

    CGRect userNameBouns = [userNameStr boundingRectWithSize:CGSizeMake(MAXFLOAT, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14]} context:nil];

    

    

    //设置用户名字的frame

    self.userNameLabelFrame = CGRectMake(CGRectGetMaxX(self.iconImageViewFrame)+KPadding, CGRectGetMidY(self.iconImageViewFrame), userNameBouns.size.width, userNameBouns.size.height);

    

    

    

    /**

     *  vip图标的frame

     */

    self.vipImageViewFrame = CGRectMake(CGRectGetMaxX(self.userNameLabelFrame)+KPadding, CGRectGetMidY(self.iconImageViewFrame), KVipImageViewWH, KVipImageViewWH);

    //4.描述信息的frame

    

    //根据文字内容计算显示的宽高

    

    NSString *messageStr = weibo.text;

    

    UIScreen *screen = [UIScreen mainScreen];

    

    CGFloat sizeW = screen.bounds.size.width-2*KPadding;

    

    CGRect messageBouns = [messageStr boundingRectWithSize:CGSizeMake(sizeW, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14]} context:nil];

    

    self.messageLabelFrame = CGRectMake(KPadding, CGRectGetMaxY(self.iconImageViewFrame)+2*KPadding, messageBouns.size.width, messageBouns.size.height);

    

    /**

     *  内部图片的frame'

     */

    if(weibo.picture.length>0)

    {

        self.pictureImageViewFrame = CGRectMake(KPadding, CGRectGetMaxY(self.messageLabelFrame)+2*KPadding, KPicImageViewWH, KPicImageViewWH);

        

    }

    

    

    /**

     *  获取行高

     */

    

    CGFloat messageLabelMaxY = CGRectGetMaxY(self.messageLabelFrame)+KPadding;

    

    CGFloat picImageViewMaxY = CGRectGetMaxY(self.pictureImageViewFrame)+KPadding;

    //判断文字和图片的

    self.rowHight = messageLabelMaxY>picImageViewMaxY?messageLabelMaxY:picImageViewMaxY;

    

    

}

 

转载于:https://www.cnblogs.com/qhsblogs/p/5540594.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值