首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sizeWithFont:constrainedToSize - iOS7

sizeWithFont:constrainedToSize - iOS7
EN

Stack Overflow用户
提问于 2013-11-03 05:13:07
回答 2查看 293关注 0票数 1

我在iOS6中使用了下面的方法,但是在iOS7中我得到了错误

代码语言:javascript
复制
CGSize labelHeight = [tweetText sizeWithFont:[UIFont systemFontOfSize:13.0f] constrainedToSize:CGSizeMake(self.tweetsTableView.bounds.size.width - 84, 4000)];

下面是完整的方法,有关于如何修改iOS7的想法吗?

代码语言:javascript
复制
- (CGFloat)heightForCellAtIndex:(NSUInteger)index {

    NSDictionary *tweet = self.tweets[index];
    CGFloat cellHeight = 50;
    NSString *tweetText = tweet[@"text"];

    CGSize labelHeight = [tweetText sizeWithFont:[UIFont systemFontOfSize:13.0f] constrainedToSize:CGSizeMake(self.tweetsTableView.bounds.size.width - 84, 4000)];

    cellHeight += labelHeight.height;
    return cellHeight;
}
EN

回答 2

Stack Overflow用户

发布于 2014-01-26 19:02:05

我知道这是一个古老的问题&迟来的答案,但它仍然非常相关,

此sizeWithFont方法现已弃用,此新方法的效果最好

代码语言:javascript
复制
NSString *content = **Whatever your label's content is expected to be**
CGSize maximumLabelSize = CGSizeMake(390, 1000);

NSDictionary *stringAttributes = [NSDictionary dictionaryWithObject:[UIFont systemFontOfSize:13] forKey: NSFontAttributeName];

CGSize newExpectedLabelSize = [content boundingRectWithSize:maximumLabelSize options:NSStringDrawingTruncatesLastVisibleLine|NSStringDrawingUsesLineFragmentOrigin attributes:stringAttributes context:nil].size;

因此您可以调整标签(或表单元格等)以

代码语言:javascript
复制
label.frame.size.height = newExpectedLabelSize.height;

我希望这对你有帮助,干杯,吉姆。

票数 1
EN

Stack Overflow用户

发布于 2014-07-18 12:38:10

添加以下几行:

代码语言:javascript
复制
UIFont *font = [UIFont boldSystemFontOfSize:16];
CGRect new = [string boundingRectWithSize:CGSizeMake(200, 300) options:NSStringDrawingUsesFontLeading attributes:@{NSFontAttributeName: font} context:nil];
CGSize stringSize= new.size;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19746946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档