gpt4 book ai didi

iphone - 找到 NSString 的正确宽度

转载 作者:可可西里 更新时间:2023-11-01 04:21:46 25 4
gpt4 key购买 nike

TextView 中文本的换行取决于哪些因素。我的 textview 的宽度是 160 px,我使用下面提到的代码计算了传入文本的宽度,结果是 157 px,但是这个文本被包裹在 3 行中......为什么这样?

CGSize size = [myText sizeWithFont:textViewFont 
constrainedToSize:textView.frame.size
lineBreakMode:UILineBreakModeWordWrap];

CGFloat textWidth = size.width;

我想用文本宽度除以 TextView 的宽度来得到行数。但是计算返回 1,而我可以在模拟器的 textview 中看到 3 行。

最佳答案

- (CGSize)sizeWithFont:(UIFont *)font
constrainedToSize:(CGSize)size
lineBreakMode:(UILineBreakMode)lineBreakMode

如果字符串的绘制受作为参数给定的大小的限制,则计算字符串的大小,如果字符串对于给定的大小限制来说太长,它将被截断以适应。

如果在没有约束的情况下绘制在单行上,要获取字符串的宽度,请使用:

- (CGSize)sizeWithFont:(UIFont *)font

参见:http://developer.apple.com/library/ios/#documentation/uikit/reference/NSString_UIKit_Additions/Reference/Reference.html

注意:从 iOS7 开始

- (CGSize)sizeWithFont:(UIFont *)font

已弃用,请改用:

- (CGSize)sizeWithAttributes:(NSDictionary *)attrs

关于iphone - 找到 NSString 的正确宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5838347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com