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

//

//  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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值