gpt4 book ai didi

objective-c - 具有动态宽度的 UILabel - 水平对齐

转载 作者:可可西里 更新时间:2023-11-01 06:22:16 26 4
gpt4 key购买 nike

我在 UITableView 的自定义单元格类中有一个 UILabel,我使用以下代码根据其内容动态增加标签的宽度:

CGSize sizeToMakeLabel = [cell.cellResult.text sizeWithFont:cell.cellResult.font];

cell.cellResult.frame = CGRectMake(cell.cellResult.frame.origin.x, cell.cellResult.frame.origin.y, sizeToMakeLabel.width, sizeToMakeLabel.height);

使用上面的代码出现的问题是我不能再让标签右对齐(增加它的宽度到左边而不是右边)。

如果我不使用上面的代码并在 IB 中将对齐设置为右对齐,则对齐有效。但在这种情况下,我失去了动态宽度。

我试过:

cell.cellResult.textAlignment = UITextAlignmentRigth;
cell.cellResult.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin;

但什么也没发生。

有人可以帮我解决这个问题吗?

最佳答案

您不能右对齐标签,因为您为其框架设置了实际宽度。

如果你希望它是动态的但右对齐,你可以这样做:

CGSize sizeToMakeLabel = [cell.cellResult.text sizeWithFont:cell.cellResult.font];

cell.cellResult.frame = CGRectMake(cell.cellResult.frame.origin.x + cell.cellResult.frame.size.width - sizeToMakeLabel.width, cell.cellResult.frame.origin.y, sizeToMakeLabel.width, sizeToMakeLabel.height);

关于objective-c - 具有动态宽度的 UILabel - 水平对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12896600/

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