码迷,mamicode.com
首页 > 移动开发 > 详细

iOS 根据字符串数目,自定义Label等控件的高度

时间:2017-06-12 21:07:44      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:line   nsf   use   方法   tle   origin   ret   fragment   nsstring   

利用分类,NSString,增加一个方法。

 

技术分享
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface NSString (Height)

+ (CGSize)getRect:(NSString *)textStr andWidth:(CGSize)size andFont:(UIFont *)font;

@end
技术分享

 

 

技术分享
#import "NSString+Height.h"

@implementation NSString (Height)

+ (CGSize)getRect:(NSString *)textStr andWidth:(CGSize)size andFont:(UIFont *)font
{
    
    CGRect rect = [textStr boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:font} context:nil];
    
    return rect.size;
    
}

@end
技术分享

 

使用:

CGSize size = [NSString getRect:str andWidth:CGSizeMake(IOS_SCREEN.size.width/2 - 10, CGFLOAT_MAX) andFont:[UIFont systemFontOfSize:14]];

 

其中:
str 是将要计算的字符串,
IOS_SCREEN.size.width/2 - 10 是宽度,
[UIFont systemFontOfSize:14]是设置字号
这些需要自己根据情况写;

iOS 根据字符串数目,自定义Label等控件的高度

标签:line   nsf   use   方法   tle   origin   ret   fragment   nsstring   

原文地址:http://www.cnblogs.com/zhangyubao/p/6994980.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!