计算字体大小的方法

在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;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容