- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我确实遇到了 NSString 和 boundingRectWithSize 的问题。
在 iOS 8 iPhone 上,一切都很好。当使用特定大小的字体呈现时,它会计算字符串的正确大小。对于 iOS 9 GM seed iPhone,宽度始终始终保持在 320 的最大值。如果字符串很短,低于 320 点,那么在 iOS 8 设备上会正确且一致地报告,但当 iOS 8 设备报告宽度超过 320 时,iOS 9 设备始终报告宽度为 320。
该应用程序是使用 Xcode 6.4 编译的,即使用 iOS 8 SDK。我使用的操作系统是 OS X El Capitan GM seed。我听说,不推荐在 El Capitan 上使用 Xcode 6。为 El Capitan 推荐的 Xcode 版本是 Xcode 7。由于业务原因,我还不能使用 Xcode 7(但很快就会尝试,只是为了尝试......)。更新:我刚刚尝试使用 Xcode 7 和 SDK 9.0 进行编译 - 宽度仍然最大为 320。Xcode 和/或 SDK 版本不是问题。 iOS 9.0 要么在这里被窃听,要么只是表现不同 ;-)
有人遇到过这个问题吗?如果我找不到其他人,我想我会向 Apple 报告这个错误(我怀疑这是一个错误。或者只是不一致的行为,我真的不认为 Apple 没有给出某种弃用警告的意思)。
最佳答案
我已经找到了解决方案,如果您愿意,也可以回答。
我不认为 iOS 9 中有错误,它只是表现不同,据我所知,比 iOS 8 更正确。所以是的,不一致,但更好......
我提供给 boundingRectWithSize: 的大小总是设置为 320x30ish。在 iOS8 上,这个函数愉快地忽略了那里的最大宽度并返回了大于它的尺寸,在我的例子中是 320 以上。然而,iOS 9 不会正确返回超出最大尺寸的尺寸。所以我只是将 maxsize 更改为 CGSizeMake(CGFLOAT_MAX, 30)
现在 iOS 8 和 9 似乎都报告相同的大小甚至超过 320。案例结束。
关于ios - NSString boundingRectWithSize 在 iOS 9 上有问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32598471/
有谁知道解决方法或我目前在这里做错了什么。 CGSize boundingSize = CGSizeMake(288, 9999); CGRect boundingRect = [text bound
我正在尝试创建一个 UITableViewCell包含 UITextView当用户在 textview 中输入文本时,单元格应该相应地增长。 到目前为止,这也很有效,除了 boundingRectWi
当我使用boundingRectWithSize计算文本的高度时,它崩溃了。我发现可能是因为文本中有一些表情符号。有人可以告诉我如何解决这个问题。 CGFloat kScreenMargin
我在使用 Swift 语言的 boundingRectWithSize 和多行 UILabel 方面遇到了一个奇怪的问题。我目前正在 Xcode Playground 中工作,因此我可以实时查看 UI
我正在使用 BoundingRectWithSize 取回一个 CGRect,它将适本地修复我的文本。我以前有这个代码。 var maximumLabelSize: CGSize = CGSize(w
我创建一个 UITextView,向其中添加文本,然后将其放入 View (带有容器) UITextView *lyricView = [[UITextView alloc] initWithFram
我有一个长度会改变的字符串。我有一个固定宽度和高度的 textView。我想找到适合这些范围的最大字体大小。我使用 boundingRectWithSize。我假设一旦它给我一个大于我的 testRe
非常简单的问题,我正在尝试动态获取 UILabel 的高度,而且 boundingRectWithSize:options:context: 似乎忽略了我的第二行。我在下面粘贴了相关代码: CGSiz
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
我在项目中的要求是UITextView的字体大小应该根据UITextView的内容减小。所以我正在尝试使用 boundingRectWithSize 来估计文本的大小。 问题是我得到的字体大小有点太大
当使用 [NSString boundingRectWithSize:options:attributes] 时,对于某些字符串,返回的矩形的大小比我预期的要高。返回的高度似乎表示具有给定属性的字符串
我查看了几个 Stackoverflow 问题,其中人们对 boundingRectWithSize 有问题,但没有一个是我的问题。 下面的代码通常计算出 1 行文本太高的高度。 CGFloat he
我想要一个 UILabel,其中部分文本带有下划线以类似于链接。这就是我构建 NSAttributedString 的方式: let attributedStr = NSMutableAttribut
[text boundingRectWithSize:BOLIVIASize options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NS
我正在尝试使用以下代码动态更新 UITextView 的高度,但结果始终偏离几个像素,这导致 TextView 换行但大小不合适。输入另一个(或两个)字符后,显示会相应更新。 我查看了各种帖子(许多帖
需要 UITextView 所需的高度。 sizeThatFits 返回比 boundingRectWithSize 更大但正确的高度。为什么会存在差异? 在两个地方我需要知道高度。在 cellFor
我有两个 UILabels L1 和 L2。 L1最大宽度为150 L1的最小宽度会根据文字长度调整 两个标签之间的距离是10。 我的代码, NSString *s = @"Stringwithout
我正在尝试根据其当前宽度自动调整文本字段/ View 的大小。换句话说,我希望宽度保持不变,但根据提供给它的文本调整高度。 它似乎工作正常,但出于某种原因,尽管已努力将其移回,但它仍与我的窗口底部对齐
我正在尝试获取属性字符串的矩形,但 boundingRectWithSize 调用不尊重我传入的大小,并返回一个具有单行高度而不是大高度的矩形(它是一个长字符串) .我已经通过传入一个非常大的高度值和
在 iOS7 中,sizeWithFont 已被弃用,所以我使用 boundingRectWithSize(它返回一个 CGRect 值)。我的代码: UIFont *fontText = [UIF
我是一名优秀的程序员,十分优秀!