- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
AppKit(适用于 Mac OS X 上的 Cocoa)中是否有任何等效方法与 UIKit 的 [NSString sizeWithFont:constrainedToSize:]
执行相同的操作?
如果没有,我怎样才能获得渲染受宽度/高度限制的特定字符串所需的空间量?
更新:下面是我正在使用的代码片段,我希望它能产生我想要的结果。
NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:
[NSFont systemFontOfSize: [NSFont smallSystemFontSize]], NSFontAttributeName,
[NSParagraphStyle defaultParagraphStyle], NSParagraphStyleAttributeName,
nil];
NSSize size = NSMakeSize(200.0, MAXFLOAT);
NSRect bounds;
bounds = [@"This is a really really really really really really really long string that won't fit on one line"
boundingRectWithSize: size
options: NSStringDrawingUsesFontLeading
attributes: attributes];
NSLog(@"height: %02f, width: %02f", bounds.size.height, bounds.size.width);
我预计输出宽度将为 200,高度将大于单行的高度,但它会产生:
height: 14.000000, width: 466.619141
谢谢!
最佳答案
试试这个:
bounds = [value boundingRectWithSize:size options:NSLineBreakByWordWrapping | NSStringDrawingUsesLineFragmentOrigin attributes:attributes];
关于cocoa - UIKit 的 [NSString sizeWithFont :constrainedToSize:] in AppKit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5033598/
我正在尝试使用sizeWithFont,如下所示: [commentTextLabel.text sizeWithFont:commentTextLabel.font
我在sizeWithFont(特别是lineBreakMode)上遇到了一些麻烦。 CGSize maxSize = CGSizeMake(30, 999); UIFont *font = [UIFo
我正在 iPhone 上制作聊天应用程序。我对 sizeWithFont:constrainedToSize:lineBreakMode 函数有疑问。当 NSString 有 long length
尝试创建 CGSize 来设置 UILabel 的正确高度时出现泄漏。在 heightForRowAtIndexPath 中设置高度时,我也收到相同的泄漏。 这是泄漏的代码片段: CGSize siz
所以我刚刚浏览了一个旧的 iOS 项目,下面一行说它已弃用: CGSize stringSize = [string sizeWithFont:self.stringLabel.font constr
我有以下代码: float height = [string sizeWithFont:[UIFont systemFontOfSize:kFontSize] constrainedToSize:CG
sizeWithFont:constrainedToSize:lineBreakMode: 似乎没有返回正确的宽度。执行这些代码后,我看到标签中的部分字符串被截断了,这意味着我必须手动添加几个像素的大
不要与返回 CGSize 的 NSString sizeWithFont 方法混淆,我正在寻找的是返回 NSString 的方法> 受限于某个 CGSize。我想要这样做的原因是当使用 Core Te
我正在将我的应用程序更新到iOS 7,终于得到了它,但是有一件事我找不到解决方案。 在Xcode 4中,我使用了以下方法: #define FONT_SIZE 14.0f #define CELL_C
我已经阅读了很多关于该主题的问题,但我似乎无法找到我的代码有什么问题: UILabel *nameLabel = [[UILabel alloc] init]; [nameLabel setText:
在 Xcode 5 上将项目从 iOS5.0 转换为 iOS7/iOS6。下面的代码给出了编译时警告: 'sizeWithFont:constrainedToSize:lineBreakMode:'已
我正在尝试制作一个 UITableViewCell,根据它显示的字符串的长度来调整其高度,但我对此方法很感兴趣。 这是我得到的: NSString *text = @"A really long st
AppKit(适用于 Mac OS X 上的 Cocoa)中是否有任何等效方法与 UIKit 的 [NSString sizeWithFont:constrainedToSize:] 执行相同的操作?
我已经浏览了 SO 上关于此方法的每一篇文章的感觉。许多海报的答案都是设置一个非常大的值作为高度约束。 但是,对我来说这不起作用。这是我的代码: //Create the contentLabel L
我有一个字幕样式 UITableViewCell,其高度根据每个字段的文本长度动态变化。问题是,如果标签有多行,textLabel 的高度(CGSize 大小)不会增加。 奇怪的是,detailTex
当我运行以下代码时(iOS 6.1 SDK): UIFont *font = [UIFont fontWithName:@"Avenir" size:12.0]; NSString *text1 =
在 iOS 7 中,方法: - (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lin
UILabel 位于 UITableViewCell 内。点击单元格时,高度会扩展,并且会出现第二个 UILabel,其中包含不同数量的数据。 问题是,如果换行,sizeWithFont:constr
我怎样才能转换 CGSize labelHeighSize = [text sizeWithFont: [UIFont systemFontOfSize:16] constrainedToSize:
这个问题在这里已经有了答案: Replacement for deprecated -sizeWithFont:constrainedToSize:lineBreakMode: in iOS 7?
我是一名优秀的程序员,十分优秀!