我尝试用各种可能的方式创建动态UILabel,但它对我不起作用。
我用.xib文件创建了UITableViewCell,如下所示:
并使用UITableViewAutomaticDimension
在选项卡表视图单元格上方的单元格上单击动态高度。
它运行良好,但我想要黄色的UIlabel应动态更新它的大小。我已经将所有自动布局设置为标签。
我已添加:
label1.lineBreakMode = .byWordWrapping
label1.numberOfLines = 0
还试过:
label1.sizeToFit()
它没有更新标签的高度 但是当我在指定的Lebel字符串末尾添加换行符时,它会自动调整标签高度,如下图所示,但仍然没有显示所有文本。
8个座位室,8个座位会议室,12个座位会议室(WProjector)
有没有其他方法可以动态调整UILabel的大小?
或
我应该使用NSLayoutConstraint
来增加身高吗?
答案 0 :(得分:0)
在自定义UITableViewCell
中,您需要直接为此特定标签设置preferredMaxLayoutWidth
。但只有当单元格已经可见并且调整大小到当前屏幕尺寸时。
例如:
class YourCustomTableViewCell: UITableViewCell {
override func layoutSubviews() {
label1.preferredMaxLayoutWidth = label1.frame.size.width
super.layoutSubviews()
}
}
答案 1 :(得分:0)
答案 2 :(得分:0)
以下解决方案的输出 -
试一试 -
import datetime
import commands
from datetime import datetime
def get_days(directory, file):
current_datetime = datetime.now()
command = "hadoop fs -ls " + directory + file + " | tr -s ' ' | cut -d' ' -f6-7 | grep '^[0-9]' "
(status, output) = commands.getstatusoutput(command)
if status == 0:
file_date = datetime.strptime(output, '%Y-%m-%d %H:%M')
date_period = current_datetime - file_date
return date_period.days
并正确添加约束,以供参考,请参阅附图。
对于动态标签 -
预订类型标签 -
答案 3 :(得分:0)
最后,我能够找到为什么我的Autolayout动态调整大小UILabel不起作用。
我几乎浪费了一周的时间来寻找和尝试不同的解决方案。 这是与项目中使用的UILabel扩展相关的问题。 我已经推荐了一些git hub项目来在屏幕上显示toast消息。在toast视图中,他们具有扩展功能来处理多行Toast消息。
这是使用开源代码中代码的主要缺点。 我从中学到的是在添加到项目之前我们需要了解开源代码。
注意:在添加到项目之前,请先学习并了解开源代码。开源代码可能会对项目中的某些功能产生一些不良影响。
感谢所有回复。