计算一段文字内容的size+系统版本判断

注:IOS7弃用sizeWithFont和sizeWithFont:constrainedToSize:lineBreakMode:方法

1.计算一行text内容的size


 CGSize timeSize;

if (isIOS7Height) {
    timeSize = [_timeLabel.text sizeWithAttributes:@{NSFontAttributeName:kNameFont}];
}
    else {
    timeSize = [_timeLabel.text sizeWithFont:kNameFont]; // IOS7不推荐使用该方法
}

2.限定宽度,计算一段长内容(如正文)的size

CGSize contentSize;CGFloat contentWidth = 200; // 限定正文的最大宽度UIFont contentFont = [UIFont systemFontOfSize:16]; // 字体大小
if (isIOS7OrHeight) {
    NSDictionary *attrib = @{NSFontAttributeName: contentFont};  // MAXFLOAT(值很大)为最大的高度,可以认为高度不限
    contentSize = [_dataDict[@"content"] boundingRectWithSize:CGSizeMake(contentWidth, MAXFLOAT) options:NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:attrib context:nil].size;  } else {
    contentSize = [_dataDict[@"content"] sizeWithFont:kContentFont constrainedToSize:CGSizeMake(contentWidth, MAXFLOAT)];// IOS7不推荐使用该方法
}

补充:IOS系统版本的判断

CGFloat version = [[[UIDevice currentDevice] systemVersion] floatValue];
NSLog(@"%f", version);
if (version >= 7.0) {
    NSLog(@"ios7.0以上版本");
}

还有另一种较为直接的方法是

#define kIsIOS7Later NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_6_1

不过这种方法就没那么准确,因为NSFoundationVersionNumber的数值是有限的

时间: 2024-10-11 00:00:42

计算一段文字内容的size+系统版本判断的相关文章

iPhone 屏幕适配判断 和 iOS系统版本判断

? 1 2 3 4 5 6 7 8 9 if([[[UIDevicecurrentDevice]systemVersion]floatValue]>=7.0) {     // iOS7.0及以上版本系统适配 } if([UIScreen mainScreen].bounds.size.height == 568) {     // iPhone 屏幕适配 } 可以写成宏定义放在pch文件中, ? 1 2 3 4 // 判断是否为iPhone5 #define iPhone5 ([UIScree

Windows 系统版本判断

Windows 系统版本判断 博客分类: C/C++ 很多情况下,需要软件判断操作系统,其实网上写的都很少,我希望这篇文章能给大家帮助 首先我们要在.h中定义下面的东西 Cpp代码   #define PRODUCT_UNDEFINED                       0x00000000 #define PRODUCT_ULTIMATE                        0x00000001 #define PRODUCT_HOME_BASIC             

Iphone 手机系统版本判断

double version = [[UIDevice currentDevice].systemVersion doubleValue];//判定系统版本.

iOS系统版本判断方法

在iOS系统中提供了系统版本的判断函数,因此我们可以很容易得到他的当前系统版本: [[UIDevice currentDevice] systemName];//系统名字[[UIDevice currentDevice] systemVersion];//系统版本号[[UIDevice currentDevice] uniqueIdentifier];//[[UIDevice currentDevice] model];  //设备型号 这些方法都能够帮助你快速得到你所想要的关于系统硬件和软件的

iOS 系统版本判断

宏定义 #define IOS9_OR_LATER ( [[[UIDevice currentDevice] systemVersion] compare:@"9.0"] != NSOrderedAscending ) #define IOS8_OR_LATER ( [[[UIDevice currentDevice] systemVersion] compare:@"8.0"] != NSOrderedAscending ) #define IOS7_OR_LAT

系统版本判断

As suggested by the official Apple docs: you can use the NSFoundationVersionNumber, from the NSObjCRuntime.h header file. if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1) { // here you go with iOS 7 }

ios系统版本判断

double version = [[UIDevice currentDevice].systemVersion doubleValue];

每天进步一点点-javascript-如何改变一段文字的内容

随着社会的进步,技术的一代代改革更新,现在的前端制作者的技术不能仅仅止步于html+css了,越来越多的企业单位,都开始要求前端能熟练使用javascript或者jquery等开发技术了,可是这些对于刚入门的童鞋们来说,还是很有挑战性的.接下来大家一起互相学习javascript吧(自己写的,可能表述什么的有不太对的地方,望大家海涵!)~ 知识储备: 大家需要先认识一些javascript中很重要的单词:onclick(鼠标点击事件).document(文档).window(窗口).getEle

iOS 让UIButton根据文字内容自动计算宽高

Xcode自带的UIButton控件是没有办法根据文字内容计算自身的宽和高的,下面演示一下问题, 我用代码方式创建一个UIButton,并且设置了一些属性,下面看一下效果图 一切都是这么的美好,跟我们想要的一样啊,btn也跟着文字内容进行自身宽高的更改了啊!那我再设置多一点文字 怀着满怀激动的心情,再看一下效果图 哇哦,怎么变成这个样子了.文字内容都超出btn控件了,跟我们想象的不一样啊.这个问题该如何解决呢? 既然Xcode自带的UIButton类满足不了我们的需求.那么我们就自定义一个UIB