计算字体大小的方法

在messageFrame模型的set方法中计算子控件的frame,计算frame的同时,还要在自定义cell中设置时间居中和字体大小

按钮的文字为黑色,字体大小,不换行。

- (void)setMessage:(JSMessage*)message

{

          _message= message;//计算frame

          CGFloatmargin =10;//时间

          CGFloattimeX =0;

          CGFloattimeY =0;

          CGFloattimeW =320;

          CGFloattimeH =40;

        _timeF=CGRectMake(timeX, timeY, timeW, timeH);

       分区 第八天(QQ聊天)的第4页

      _timeF=CGRectMake(timeX, timeY, timeW, timeH);//头像

      CGFloaticonW =50;

     CGFloaticonH =50;

     CGFloaticonY =CGRectGetMaxY(self.timeF);CGFloaticonX;

     if(self.message.type==JSMessageTypeSelf) {

               iconX =320- iconW - margin;

    }  else  {

              iconX = margin;

   }

   _iconF=CGRectMake(iconX, iconY, iconW, iconH);//消息

   CGSizetextMaxSize =CGSizeMake(200,MAXFLOAT);

   CGSizetextSize = [selfsizeWithText:self.message.text font:[UIFont

   systemFontOfSize:14]maxSize:textMaxSize];

   CGFloattextX =0;

   CGFloattextY = iconY;

   if(self.message.type==JSMessageTypeSelf) {

   textX = iconX - textSize.width- margin;

}  else  {

      textX =CGRectGetMaxX(self.iconF) + margin;

 }

   _textF=CGRectMake(textX, textY, textSize.width, textSize.height);

   CGFloattextMaxH =CGRectGetMaxY(self.textF);CGFloaticonMaxH =CGRectGetMaxY(self.iconF);    _rowHeight=MAX(textMaxH, iconMaxH) + margin;

}



- (CGSize)sizeWithText:(NSString*)text font:(UIFont*)font maxSize:(CGSize)maxSize

{

          NSDictionary*atts =@{NSFontAttributeName:font};

         return[textboundingRectWithSize:maxSizeoptions:NSStringDrawingUsesLineFragmentOrigin attributes:attscontext:nil].size;

}

你可能感兴趣的:(计算字体大小的方法)