我是Xcode的新手,我遇到了在新Xcode 6.0.1中转换下面代码的问题。感谢你的帮助,非常感谢你。
NSInteger h2 = [text sizeWithFont:_textView.font constrainedToSize:size lineBreakMode:NSLineBreakByWordWrapping] .height;
答案 0 :(得分:0)
它不是Xcode 6.0.1的一个问题,它在ios7中是一个不同的方法sizeWithFont。这个方法的替换如下
//Following is macro for checking ios6 or 7 OS.
#define isIOS6 floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1
#define isIOS7 floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1
//Use following which will work both for ios7 and for ios6 version too
if (isIOS6) {
//version <= 6.0
return [text sizeWithFont:_textView.font constrainedToSize:size lineBreakMode:NSLineBreakByWordWrapping].height;
}
else if (isIOS7) {
//version for > 6.0
//Return the calculated height of the Label
return [_textView boundingRectWithSize:CGSizeMake(_textView.frame.size.width, MAXFLOAT)
options:NSStringDrawingUsesLineFragmentOrigin
attributes:@{
NSFontAttributeName : _textView.font
}
context:nil].size.height;
}