gpt4 book ai didi

ios - 带有插图的 UIButton 标签文本自动收缩

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

我正在使用自动布局。我有一个具有固定高度和宽度的 UIButton 以及一个背景图像(圆角正方形)。它显示可变长度的文本字符串(假设在 1 到 30 个单词之间)。

我想让文本根据字符串长度自动收缩,并在我的按钮中最多包含 3 行文本。所以我这样做了:

 [button.titleLabel setMinimumScaleFactor:0.01];
[button.titleLabel setAdjustsFontSizeToFitWidth: YES];
[button.titleLabel setNumberOfLines:3];
[button.titleLabel setTextAlignment:NSTextAlignmentCenter];

我还在 Interface Builder 中将字体大小设置为较高的值,例如 50。我将换行符设置为“剪辑”。

按钮的文本正确地适应了字符数,但它往往会超出按钮的框架。它适用于中等长度的字符串,但不适用于大字符串,我不知道为什么。我曾尝试向我的按钮添加插图,但它并没有做太多,只是四处移动过大的文本,所以我假设字体调整是在合并插图之前计算的。

下面是截图。这些按钮中有 4 个,包含在较大的蓝色 View 中。红色背景是按钮的背景,黄色是作为背景的图像。

Screenshot

I uploaded an example project on Google Drive. Use iPhone 6 Plus for simulation.

最佳答案

您还应该设置按钮的 titleEdgeInsets 属性。

例如:

button.titleEdgeInsets = UIEdgeInsetsMake(2.0, 2.0, 2.0, 2.0);

在您的项目中,似乎有一些布局限制扰乱了按钮的标题标签。

添加以下约束时,它起作用。

UILabel *titleLabel = button.titleLabel;
NSDictionary *views = NSDictionaryOfVariableBindings(titleLabel);
[button addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[titleLabel]|"
options:kNilOptions
metrics:nil
views:views]];

在使用此解决方案之前,我建议您首先尝试以更简单的方式设置布局约束。

关于ios - 带有插图的 UIButton 标签文本自动收缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27509923/

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