计算文本长度-boundingRectWithSize

- (void)viewDidLoad {    [super viewDidLoad];  //新建lable控件    UILabel *lable=[[UILabel alloc]init];
    lable.backgroundColor=[UIColor orangeColor];  //设置字体大小
    UIFont *font=[UIFont systemFontOfSize:15];
    lable.text=@"hello world!";
    lable.font=font;  //自动换行
    lable.numberOfLines=0;

  //设置文本范围。200代表宽度最大为200,到了200则换到下一行;MAXFLOAT代表长度不限
    CGSize strSize=CGSizeMake(200, MAXFLOAT);  //需跟lable字体大小一直,否则会显示不全等问题
    NSDictionary *attr=@{NSFontAttributeName:font};
    CGSize lableSize=[lable.text boundingRectWithSize:strSize options:NSStringDrawingUsesLineFragmentOrigin attributes:attr context:nil].size;
    lable.frame=CGRectMake(100, 100, lableSize.width, lableSize.height);

    [self.view addSubview:lable];}
boundingRectWithSize属性:限定文本在固定范围内进行显示options属性:NSStringDrawingTruncatesLastVisibleLine:如果文本内容超出指定的矩形限制,文本将被截去并在最后一个字符后加上省略号。如果没有指定NSStringDrawingUsesLineFragmentOrigin选项,则该选项被忽略NSStringDrawingUsesLineFragmentOrigin:绘制文本时使用 line fragement origin 而不是 baseline originNSStringDrawingUsesFontLeading:计算行高时使用行距(译者注:字体大小+行间距=行距)NSStringDrawingUsesDeviceMetrics:计算布局时使用图元字形(而不是印刷字体)attributes属性:字体属性,见NSAtrributedString.h文件context属性:文本上下文。可调整字间距以及缩放等。最终,该对象包含的信息将用于文本绘制。该参数可为nil
 
 
时间: 2024-11-06 14:35:06

计算文本长度-boundingRectWithSize的相关文章

jQuery计算文本宽度和input标签根据输入字符动态自适应宽度的实现

jQuery计算文本宽度的原理是利用html提供的<pre>标签,向dom中动态添加<pre>标签,标签里的内容就是要测试长度的文本,获取完长度之后再删除刚才添加的<pre>标签,从而可取到文本的大概长度了.为什么要用标签而不用其他标签呢,那来看看<pre>标签的特性吧:pre 元素可定义预格式化的文本.被包围在 pre 元素中的文本通常会保留空格和换行符;而文本也会呈现为等宽字体. <pre>标签的一个常见应用就是用来表示计算机的源代码.需要注

通过boundingRectWithSize:options:attributes:context:计算文本尺寸

转:http://blog.csdn.net/jymn_chen/article/details/10949279 之前用Text Kit写Reader的时候,在分页时要计算一段文本的尺寸大小,之前使用了NSString类的sizeWithFont:constrainedToSize:lineBreakMode:方法,但是该方法已经被iOS7 Deprecated了,而iOS7新出了一个boudingRectWithSize:options:attributes:context方法来代替: 很碍

处理字符串的一些js/jq方法(去除HTML,去除空格,计算真实长度,截取中英文字符)

stringObject.replace(regexp,replacement) regexp 必需.规定了要替换的模式的 RegExp 对象.请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象.replacement 必需.一个字符串值.规定了替换文本或生成替换文本的函数. 去除html标签:function del_html_tags(str){    var words = '';    words = str.replace(/<[^>

IOS开发计算文本尺寸

在IOS开发中例如微博,QQ聊天界面中要显示大量的文字信息,这样需要计算出文字部分的尺寸,才能设计出合适的控件尺寸和位置.下面是IOS 7.0计算文本尺寸的方法.- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes context:(NSStringDrawingContext *)context NS_AV

计算文本宽高

// 计算文字的宽高 NSDictionary *attributesDic = @{NSFontAttributeName: self.labelView.font}; CGRect textRect = [text boundingRectWithSize:CGSizeMake(200, 100) options:NSStringDrawingUsesLineFragmentOriginattributes:attributesDic context:nil]; 计算文本宽高

计算文本的高度

计算文本的高度分两种情况,指定文本只有1行和多行,可以写方法返回字符串的size,options通常使用NSStringDrawingUsesLineFragmentOrigin,这样整个文本将以单行文本的矩形来计算整个文本高度 ①文字显示一行 -(CGSize)sizeOneLineText:(NSString *)text font:(UIFont *)font{ CGSize textSize = [text boundingRectWithSize:CGSizeMake(CGFLOAT_

iOS 动态计算文本内容的高度

关于ios 下动态计算文本内容的高度,经过查阅和网上搜素,现在看到的有以下几种方法: 1. //  获取字符串的大小  ios6 - (CGSize)getStringRect_:(NSString*)aString { CGSize size; UIFont *nameFont=[UIFont fontWithName:@"Helvetica" size:13]; size=[aString sizeWithFont:nameFont constrainedToSize:CGSize

根据文本内容动态计算文本框高度的步骤

在视图加载的过程中,是先计算出frame,再根据frame加载视图的,所以在设计计算高度的方法的时候,设计成加号方法; //首先给外界提供计算cell高度的方法 + (CGFloat)heightForRowWithDic:(NSDictionary *)dic { //cell高度 = nameLabel高度 + contentLabel高度 + 间距; return [self heightForText:dic[@"content"]] + 30 + kHeight_NameLa

Java 计算中英文长度的若干种方法

在项目开发中经常碰到到输入字符的校验,特别是中英文混合在一起的校验.而为了满足校验的需求,有时需要计算出中英文的长度. 本文将通过几种常用的方法实现长度的计算: <span style="font-size:18px;">import java.io.UnsupportedEncodingException; /** * 中英文校验的处理 * @author a123demi * */ public class EnChValidate { public static vo