gpt4 book ai didi

ios - 无法制作 UILabel 剪辑

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:23:51 29 4
gpt4 key购买 nike

我调整了我的字符串的大小以最大限度地适应高度(1 行),以便截断任何过大的宽度(如在字形中间),lineBreakMode:UILineBreakModeClip 应该这样做。相反,文本似乎通过仅绘制适合(不是预期或不需要)的完整字符来截断(?)。基本上:

[label setNumberOfLines:1];
label.font = [UIFont systemFontOfSize:64.0f];
label.lineBreakMode = UILineBreakModeClip;
[label setText:@"ABCDEIIIIII"];

最佳答案

A related, more complicated question为此提出了一个解决方案:创建一个宽度较大的标签并将其添加到所需宽度的 UIView 中。 (然后将 UIView 添加到您的应用程序。)设置 UIView 的 clipsToBounds 属性将为您提供所需的中间字形剪裁。

说明:假设您希望标签在 100 像素处截断。将 UILabel 的宽度设置为 200,它将愉快地呈现您想要的 100 像素。它是否在 200 个完整字母处截断,您不关心。您将此标签添加到设置了 clipsToBounds 的 100px 的 UIView 中,它将仅向您显示所需的 100px 标签,然后将其从字形中间切掉。

改编自另一篇文章,以说明:

UIView *topContainer = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 50)];
topContainer.clipsToBounds = YES;
topContainer.opaque = NO;
topContainer.backgroundColor = [UIColor clearColor];

UILabel *topLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 50)];
[topLabel setText:@"ABCDEIIIIII"];
topLabel.opaque = NO;

[topContainer addSubview:topLabel];
[self.view addSubview:topContainer];

关于ios - 无法制作 UILabel 剪辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8917083/

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