根据Label和字体大小自适应高度和宽度

- (void)getHeightWithLabel:(UILabel *)label andFontSize:(CGFloat)size
{
    label.numberOfLines = 0;
    NSMutableAttributedString *labelString = [[NSMutableAttributedString alloc] initWithString:label.text];
    [labelString addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:size] range:NSMakeRange(0, [labelString length])];
    CGRect labelStringRect = [labelString boundingRectWithSize:CGSizeMake(self.view.frame.size.width-label.frame.origin.x*2, 9999) options:NSStringDrawingUsesLineFragmentOrigin context:nil];
    CGRect labelRect = label.frame;
    labelRect.size.height = labelStringRect.size.height;
    label.frame = labelRect;
    label.attributedText = labelString;
}

- (void)getWidthWithLabel:(UILabel *)label andFontSize:(CGFloat)size
{
    label.numberOfLines = 0;
    NSMutableAttributedString *labelString = [[NSMutableAttributedString alloc] initWithString:label.text];
    [labelString addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:size] range:NSMakeRange(0, [labelString length])];
    CGRect labelStringRect = [labelString boundingRectWithSize:CGSizeMake(9999, label.frame.size.height) options:NSStringDrawingUsesLineFragmentOrigin context:nil];
    CGRect labelRect = label.frame;
    labelRect.size.width = labelStringRect.size.width;
    label.frame = labelRect;
    label.attributedText = labelString;
}
时间: 2024-10-21 20:58:29

根据Label和字体大小自适应高度和宽度的相关文章

EXT组件自适应高度和宽度

Ext代码 Ext的组件构造函数的width.height不支持100%的设置方式,因此动态获取高度宽度来解决问题. <div id="component" style="width:100%;height:100%"> <div> 组件构造的时候这样写: width: Ext.get("component").getWidth(), height: Ext.get("component").getHe

android 字体大小自适应

  ndroid 想自适应哪个分辨率的就在你的工程res下添加values-XXXxXXX(如:values-values-1024x600)文件夹,在文件夹里新建dimens.xml文件格式如下: <?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="text_size">40sp</dimen> </resource

响应式网页设计:rem设置网页字体大小自适应

首先简单科普一下什么是响应式网页.响应式网页是指会根据输出设备的分辨率不同,而自动调整布局的网页.同时,在输出设备分辨率改变时,也能及时自动调整.说穿了,就是三个字:自适应. 响应式网页不仅仅是响应不同类型的设备,而且需要响应不同的用户需求.响应式的初衷是为了让信息更好的传递交流,让所有人无障碍的获取信息,同时这也是 Web 的初衷. 当我们每天面对缤纷的互联网世界的时候,文字不仅仅传递给我们众多的信息资讯,而且在设计师的手里,文字在网页中的排版承载着一种艺术的直觉. 网页中常用的文字大小单位是

字体大小自适应纯css解决方案

viewpoint css3提供了一些与当前viewpoint相关的元素,vw,vh,vim等. “viewpoint” = window size vw = 1% of viewport width 1vh = 1% of viewport height 1vmin = 1vw or 1vh, 最小 1vmax = 1vw or 1vh, 最大 兼容性:chrome 20+/ safari 6+/ IE 10+ / FF 19+ / IOS 6+ DEMO地址:http://qianduann

UILabel 自适应高度,宽度

mLabel1 = [[UILabel alloc]initWithFrame:CGRectMake(0, 20, 10, 1)]; mLabel1.text = @"my label 1, ok , ok , ok "; mLabel1.numberOfLines = 0; [mLabel1 sizeToFit]; 说明: 1. 如果只调用 sizeToFit,则label的位置不变,宽度会根据内容自适应,文本会只占1行 2. 如果设定numberOfLines = 0的同时调用si

C# Winform控件字体大小自适应

using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; namespace WGClient { class AutoSizeFormClass { //(1).声明结构,只记录窗体和其控件的初始位置和大小. public struct controlRect { public int Left; public int Top; public int Width; public int

pc端字体大小自适应

$(window).resize(function ()// 绑定到窗口的这个事件中 {  var whdef = 100/1920;// 表示1920的设计图,使用100PX的默认值  var wH = window.innerHeight;// 当前窗口的高度  var wW = window.innerWidth;// 当前窗口的宽度  var rem = wW * whdef;// 以默认比例值乘以当前窗口宽度,得到该宽度下的相应FONT-SIZE值  $('html').css('fo

字体大小自适应屏幕分辨率 CSS解决方案

viewpoint css3提供了一些与当前viewpoint相关的元素,vw,vh,vim等. “viewpoint” = window size vw = 1% of viewport width 1vh = 1% of viewport height 1vmin = 1vw or 1vh, 最小 1vmax = 1vw or 1vh, 最大 兼容性:chrome 20+/ safari 6+/ IE 10+ / FF 19+ / IOS 6+ <!DOCTYPE HTML> <ht

zk textbox 更改字体大小及高度

.z-textbox{ height:100px; font-size:30px; padding:20px; } <textbox/> 效果如下: