iOS 编程 计算字符串文字宽度

原创 2015年07月07日 11:20:21

//

//  ViewController.m

//  tableview复习

//

//  Created by tianshangrenjian on 15/7/7.

//  Copyright © 2015 tianshangrenjian. All rights reserved.

//


#import "ViewController.h"


@interface ViewController ()

@property (weak, nonatomic) IBOutlet UILabel *lbInfo;

@property (weak, nonatomic) IBOutlet UIView *viewInfo;


@end


@implementation ViewController


- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

    

}

- (void)touchesBegan:(nonnull NSSet<UITouch *> *)touches withEvent:(nullable UIEvent *)event

{

    NSString *str=@"   开源界总是有许多有趣的东东,这三个合起来就是一个完整的XMPP IM 实现。包括服务器端——Openfire,,XMPP 传输协议的实现——Smack(记住,XMPP是一个协议,协议是需要实现的,Smack起到的就是这样的一个作用)。三者都是基于Java 语言的实现。";

    CGSize size=CGSizeMake(270, MAXFLOAT);

    UIFont *font=[UIFont systemFontOfSize:18];

    NSDictionary *attrs=@{NSFontAttributeName:font};

    

    CGSize s=[str boundingRectWithSize:size options:NSStringDrawingTruncatesLastVisibleLine |

              NSStringDrawingUsesLineFragmentOrigin |

              NSStringDrawingUsesFontLeading attributes:attrs context:nil].size;

    CGSize s1=[str sizeWithAttributes:attrs];

    NSLog(@"%g   %g",s.height,s.width);

    NSLog(@"s1 :%g   %g",s1.height,s1.width);

    

    self.viewInfo.frame=CGRectMake(0 , 0, s.width+20, s.height+38);

    [self.viewInfo setNeedsDisplay];

    self.lbInfo.frame=CGRectMake(15,5, 270, s.height);

    self.lbInfo.lineBreakMode=NSLineBreakByWordWrapping;

    self.lbInfo.font=font;

    self.lbInfo.numberOfLines=0;

    self.lbInfo.text=str;


}

- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}


@end

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

iOS--UILabel字体默认宽度和高度

今天发现了UILabel的一个属性:intrinsicContentSize,这个属性能返回UILabel对象的内容宽高(1行文本)。 接着发现UILabel对象的文字宽度是由文字的font属性和文...

iOS计算字体宽和高

给NSString写一个分类头文件#import @interface NSString (Extension) /** *返回值是该字符串所占的大小(width, height) *font : ...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

ios动态获取nsstring字符串宽度

在使用UILabel存放字符串时,经常需要获取label的长宽数据,本文列出了部分常用的计算方法。 1.获取宽度,获取字符串不折行单行显示时所需要的长度  CGSize titleSize = [...

iOS开发 根据字符内容计算宽高度

根据内容计算宽度 - (CGFloat)calculateRowWidth:(NSString *)string { NSDictionary *dic = @{NSFontAttribut...

IOS开发中UILabel单行、多行文本计算高度、宽度的技巧

IOS学习了一段时间了,对于这个文本内容多了需要计算高度的问题特别蛋疼,这个根本没法和Android相比啊,Android根本就不用自己费心计算宽度和高度,内部都帮你实现好了,好了,YY到此结束,遇到...

iOS8.0 根据字符串长度计算label的尺寸

在iOS7.0后,根据字符串长度计算label 的尺寸进行了更改。在网上找了一些,都是复制代码,而且都不很好用,自己写了一个简单方法 可以直接调用。 - (CGS...

Android计算字符串显示宽度

字符串显示时的宽度通过字符串的个数/长度是没有办法取得 因为涉及到字体,大小,全角/半角, 甚至英文字i和T的宽度也是截然不同的。   使用下面的方法, 可以取得字符串显示的宽...

获取字符串宽度

SQL code //==================================================================== // 事件: of_getsize() ...

iOS计算字符串高度

方法一:iOS2.0引入,ios7.0废弃

字符串长度计算

字符串的长度通常是指字符串中包含字符的数目,但有的时候人们需要的是字符串所占字节的数目。常见的获取字符串长度的方法包括如下几种。 1.使用sizeof获取字符串长度 sizeof的含义很明...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)