关于我的内容的一个小解释:
我有一个带有多个组件(列)的UIPickerView,并且所有组件都填充了INTEGER_MAX行,以便给出“无限循环”方面。每个组件的内容来自该特定组件的NSArray字符串。 字符串(单词)有不同的大小,有些被截断(例如,“Imagination”变成“Imaginat ......”,而“Smart”保持不变)。 在每个组件的每一行中,我使用UILabel来显示文本,我正在使用
tLabel.textAlignment = NSTextAlignmentCenter;
tView.adjustsFontSizeToFitWidth = YES;
确保文本适合并对齐。
关于我需要的一个小解释:
我需要使所有标签(INTEGER_MAX * nr_of_components)具有相同的文本大小。 但是,在使用自动调整文本大小的标签填充选择器之前,我无法确定哪个是最小的font.size。
关于我的想法和未能实现的一个小解释:
我考虑过如前所述加载选择器,然后扫描第一个[arrayX count]行以找到该组件所需的最小字体大小,然后将其与其他组件进行比较,直到需要“绝对”最小字体大小被发现。 之后,将需要访问所有组件上的所有标签,并将font.size更改为指示所需的最小标签。
这应该动态完成,因为不知道该应用程序是在iPhone,iPod还是iPad上运行。
嗯,任何帮助都非常受欢迎。 提前谢谢!
答案 0 :(得分:0)
如果我正确理解了您的问题,您可能需要查看this answer。
策略基本上是截断(省略号)而不是字体缩小。
修改(根据评论)
我会强烈建议不要将所有文字设置为最小字体。让我们说你有这样的元素:
现在你的所有物品都有点小,但那仍然可读,所以这是可以接受的。然后会出现一个巨大的项目,例如:
这将使你的选择器内的所有物品变得非常小,并且难以阅读。
但是如果你还想走这条路,我建议你看一下font sizing from text。这个question也可以提供帮助。