计算字符串的高度

extension String {

//////

/// @brief 获取字符串的高度

/// @param fontSize 字体大小

/// @param width 限制一行显示的宽度

/// @return 返回文本在width宽度的条件下的总高度

///

func height(let fontSize: CGFloat, let width: CGFloat) ->CGFloat {

let font = UIFont.systemFontOfSize(fontSize)

let size = CGSizeMake(width, CGFloat.max)

var style = NSMutableParagraphStyle()

style.lineBreakMode = NSLineBreakMode.ByCharWrapping

var attributes = [NSFontAttributeName: font, NSParagraphStyleAttributeName: style.copy()];

// 强转成NSString

var text = self as NSString

var rect = text.boundingRectWithSize(size,

options: NSStringDrawingOptions.UsesLineFragmentOrigin,

attributes: attributes,

context: nil)

return rect.size.height

}

时间: 2024-08-23 06:14:59

计算字符串的高度的相关文章

简单计算字符串的高度

计算字符串的高度有很多种,这里写下最常用的简单计算字符串的高度 // // NSString+NSStringExt.h // UIFontSize // // Created by mac on 15/11/14. // Copyright (c) 2015年 叶炯. All rights reserved. // #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface NSString (NSSt

关于UIFont和计算字符串的高度和宽度

转自:http://i.cnblogs.com/EditPosts.aspx?opt=1 1.创建方法:+ fontWithName:size:- fontWithSize:2.创建系统字体:+ systemFontOfSize:+ boldSystemFontOfSize:+ italicSystemFontOfSize:3.获得可用的Font Names:+ familyNames+ fontNamesForFamilyName:4.获得Font Name属性:familyName 属性 和

根据字符串长度,计算字符串的高度

CGSize rect1; rect1 = [string boundingRectWithSize:CGSizeMake(kDeviceWidth-40, 20000.f) options:NSStringDrawingUsesLineFragmentOrigin |NSStringDrawingUsesFontLeading attributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont systemFontOfSize:15.f]

计算字符串高度宽度

//计算字符串宽度: + (CGFloat)width:(NSString *)contentString heightOfFatherView:(CGFloat)height textFont:(UIFont *)font{ #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_7_0 CGSize size = [contentString sizeWithFont:font constrainedToSize:CGSizeMake(CGFLOAT_

iOS 7 计算字符串高度

- (float)width:(NSString *)str font:(UIFont *)font { NSDictionary *attribute = @{NSFontAttributeName:font}; CGSize size = [str boundingRectWithSize:CGSizeMake(_bgView.frame.size.width - 2*MARGIN_TOP, CGFLOAT_MAX) options: NSStringDrawingTruncatesLast

计算字符串的长度值

当字符串长度未知,需要动态设置一个UI控件的高度和宽度(比如一个UILabel),这时需要计算字符串的长度 //两个重要参数,一个是最大的宽度,一个是字体的font值 //返回的CGRect 对象,包括宽度和高度值 /* 计算item高度 */ -(CGFloat)calculateItemStringLength:(NSString*)title{ // NSStringDrawingOptions options = NSStringDrawingUsesLineFragmentOrigin

swift-自动计算字符串的宽高

写一个方法来继承String //自动控制文字换行及宽度 extension String { func textSizeWithFont(font: UIFont, constrainedToSize size:CGSize) -> CGSize { var textSize:CGSize! if CGSizeEqualToSize(size, CGSizeZero) { let attributes = NSDictionary(object: font, forKey: NSFontAtt

PHP-根据字符串和所用字体计算字符串所占宽高

今天由于用GD画图, 需要把一段文字在一个框内居中, 但是文字的宽度如果用strlen($str) * $font_size来计算的话, 由于文字不是等宽高的, 所以会导致偏离, 最后选用的GD库的imagettfbbox()函数, 其原型如下 array ImageTTFBBox(int size, int angle, string fontfile, string text); 其中返回一个数组, 有八个元素, 描述了四个角的坐标 0     左下角 X 位置 1     左下角 Y 位置

计算文本的高度

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