- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题:确定 UILabel
需要的大小(行数),假设宽度为 300 像素。该字符串较长,因此我将 lineBreakMode
设置为 UILineBreakModeWordWrap
并调用 sizeThatFits
来尝试确定大小。但它给出的单行宽度为 457 px,而不是预期的两行 300 px。
请参阅:
CGSize available = CGSizeMake(300, INFINITY);
UILabel *label = [[[UILabel alloc] initWithFrame:CGRectMake(0, 0, 300, 400)] autorelease];
label.text = title;
label.lineBreakMode = UILineBreakModeWordWrap;
label.font = [UIFont fontWithName:kBoldFont size:kTitleFontSize];
label.numberOfLines = 3;
CGSize sizedtoFit = [label sizeThatFits:available];
但我发现 sizedtoFit 变量的宽度为 457 像素,高度为 22 像素,并且 UI 显示带有剪切文本的单行。我预计两行的宽度为 300 像素,高度为 44 像素。
numberoflines 的 UILabel 文档说:
当使用 sizeToFit
方法调整接收器大小时,调整大小时会考虑存储在此属性中的值。例如,如果此属性设置为 3,则 sizeToFit
方法会调整接收器的大小,使其足够大以显示三行文本。
我尝试了以下各种组合:
CGRectZero
传递给 init 函数,传递 300x400 或 300 x 无穷大。init
函数。[sizeToFit]
并希望它计算假设当前宽度的高度,但事实并非如此。layoutIfNeeded
。它们都不起作用。我做错了什么,或者这是文档和框架实现不一致的坏错误?谢谢。
最佳答案
我遇到了同样的问题,适合的尺寸只是忽略了尺寸.../:我最终使用:
CGRect textSize = [UILabel textRectForBounds:CGRectMake(0, 0, 300, CGFLOAT_MAX)
limitedToNumberOfLines:3];
工作起来就像一个魅力......:)
文档说你不应该直接调用它,但我已经使用它有一段时间了,通过批准提交的应用程序,一切都很棒......:)
关于iphone - UILabel 的 sizeToFit/sizeThatFits 忽略 numberoflines 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5041874/
引用OHAttributedLabel numberOfLines问题。我创建了一个 OHAttributedLabel 并在设置 attributedText 时我的应用程序崩溃了。标签上显示的文本
我在 react-native 中创建了一个应用程序,我可以选择在消息中聊天选项。当我在 TextInput 中单击并键入两行时,上面的一行被隐藏。为了解决这个问题,我在文档中看到了 numberOf
我在 UIStackView 中有一个 UILabel,堆栈 View 在另一个 UIScrollView 中,我正在使用自动布局。标签有单行(即 numberOfLines 等于 1),在少数情况下
let nameBox = UILabel(x: 0, y: 0, w: sideSize, h: sideSize*2/4) nameBox.text = skillName nameBox.tex
我这样做是为了制作我的 UIlabel,将 numberOfLines 设置为 0,这样它就没有行限制: UILabel *nmLbl = [[UILabel alloc] initWithF
我需要计算自定义标签中的文本矩形,而不是使用 UILabel 的 sizeThatFits 方法。下面的代码无法正常工作。主要思想是在 index = numberOfLines - 1 处找到 CT
全部, 我是 iPhone 编程的新手。在下面的代码中,我希望文本显示评论标签中的所有文本,但现在它正在截断它。 numberofLines 也不能正常工作。现在它正在这样做。 “我的名字是弗雷德,我
这个问题已经有答案了: Vertically align text to top within a UILabel (51 个回答) 已关闭 9 年前。 在 iOS 5 上。 我有一个最初放置在 Ni
我有一个自定义的tableViewCell。 questionContent 是一个标签,我设置的: numberOfLines = 0 lineBreakMode = NSLineBreakMode
我正在尝试制作一个 UIButton,它的 titleLabel 中有两行文本。这是我正在使用的代码: UIButton *titleButton = [[UIButton alloc] initWi
我想知道为什么 numberOfLines 不会设置六行的限制,而 maxLength 确实在相同的 TextInput 上工作并限制了用户输入到 140 个字符。 这是我的代码(简化版): 最佳答
当我为我的标签设置文本并检查 myLabel.frame.size.height 时,我总是得到相同的值,就好像总是一行,即使我设置的文本需要多行线...我怎样才能得到“最终”高度? 谢谢 最佳答案
我在 swift 中使用了 UINavigationBar.appearance()。通过使用它,我使用以下代码更改了 UINavigationBar 的 backgroundColor 和 text
我创建了自定义 UITableViewCell。 @interface AnswerCell : UITableViewCell @property (nonatomic, retain) IBOut
我正在从事一个必须同时支持 iOS6 和 iOS7 的项目。我的问题是它在不同系统上的工作方式不同。我正在尝试创建行数等于 2 的 UILabel,但是当我将它的换行模式设置为 NSLineBreak
问题:确定 UILabel 需要的大小(行数),假设宽度为 300 像素。该字符串较长,因此我将 lineBreakMode 设置为 UILineBreakModeWordWrap 并调用 sizeT
如何使用此方法 - (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines 我
我有一个显示用户“简介”的 UILabel。我还让用户能够通过在用户点击时弹出 uitextview 来编辑此文本,然后一旦用户完成添加或从此 uitextview 中删除文本,我说 label.te
我正在 UILabel 中制作多色文本。它运作良好。但问题是我知道了,我可以在 UIlabel 中显示多行。这意味着 numberOfLine 属性不起作用。 extension NSMut
我只想知道行数,给定字体、约束和文本。我可以在不创建 UILabel 的情况下解决这个问题吗? + (int)numberOfLines:(NSDictionary *)data{ NSStr
我是一名优秀的程序员,十分优秀!