无法在选取框内更改 UILabel 的框架

Posted

技术标签:

【中文标题】无法在选取框内更改 UILabel 的框架【英文标题】:Cannot change the frame of UILabel in marquee 【发布时间】:2012-04-26 10:52:04 【问题描述】:

我正在为 UILabel 选取框使用 this 代码。但我无法更改标签的高度。我使用的标签字体大小为 60。标签文本从其底部开始超出范围。即使经过长时间的调试,我也无法找出我的文字在底部被剪切的原因。感谢任何帮助。

【问题讨论】:

以上链接附有两个文件。代码非常大。我正在使用链接中给出的相同类。 【参考方案1】:

尝试使用[string sizeWithFont:]。下面的代码对我来说很好。

NSString* message=@"Polska pozdrawia";
CGSize fontSize=[message sizeWithFont:[UIFont systemFontOfSize:60.0f]];
AutoScrollLabel* label=[[AutoScrollLabel alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, fontSize.height)];
[label setFont:[UIFont systemFontOfSize:60.0f]];
[label setText:message];
[self.view addSubview:label];
[label scroll];

【讨论】:

谢谢。但是如果文本非常小,可以放在视图中并且可以整体看到,那么我不希望它滚动。我该怎么做。 你可以尝试fontSize.width来检查是否要滚动,然后调用或不调用[label scroll]方法

以上是关于无法在选取框内更改 UILabel 的框架的主要内容,如果未能解决你的问题,请参考以下文章

从情节提要加载 UILabel,无法更改 cellForRowAtIndexPath 中的框架

如何使自定义单元格中的 UILabel 显示保存在 UITableView 中的更改

无法识别 UILabel 上超出父视图范围的点击

按下按钮时未从数组中填充 UILabel

在自定义 TableViewCell 中动态更改 UILabel 框架

具有自动布局的多行UILabel,如何在不更改标签框架的情况下根据内容调整字体大小?