如何将pickerColumn 的宽度调整为pickerColumns 内的文本?
Posted
技术标签:
【中文标题】如何将pickerColumn 的宽度调整为pickerColumns 内的文本?【英文标题】:How can I adjust the width of a pickerColumn to the text inside the pickerColumns? 【发布时间】:2012-08-09 16:52:24 【问题描述】:到目前为止,我只能通过代码手动调整每个 PickerColumn 的大小,但我希望每个 PickerColumn 根据其中任何一个最大 PickerRow 的内容自动调整。 这是因为我正在使用动态 PickerColumns,其 PickerRows 内容根据之前 PickerColumn 的选定值而变化。我发现了如何使用下面的代码来缩放整个 Picker:
var transformPicker=Ti.UI.create2DMatrix().scale(0.5);
var picker = Ti.UI.createPicker(
width:500,
height:10,
top:0,
transform:transformPicker
);
我尝试将转换矩阵应用于 PickerColumn,但它没有做任何事情。有人知道如何调整它们的大小吗?还是我试图调整错误的大小?
提前感谢您给我的任何建议,我是在 Titanium 中为 ios 开发的新手,尽管不难习惯它的 API,但真正的问题是像我这样的小技巧我试图弄清楚这会让整个事情变得有点混乱。
【问题讨论】:
【参考方案1】:如果您使用的转换很可能会被 Apple 拒绝,因为这是 Apple 特定的 UI 元素,因此任何过分的调整大小都会违反人机界面指南。如果您发现屏幕宽度的列太多,那么您可能需要放弃 Picker 元素 :-( 或面对 Apple 的愤怒。
但要回答有关选择器列动态调整大小的问题,只需使用选择器的 reloadColumn( Titanium.UI.PickerColumn column ) 方法。这将根据选择器大小和行内容调整大小。还可以考虑使用 PickerColumn 的 updateLayout( Dictionary params )。
Check the documentation here.
【讨论】:
谢谢,我不知道苹果公司这么严格,我知道,但没有到这种程度。 我的一般规则是不要对任何原生 UI 元素使用缩放变换,Apple 非常重视统一的外观和感觉,所以很多评论者会为它撕毁你。 最后一个问题,我可以轮换它们吗?还是那个也无效? 这完全取决于您旋转元素的位置、时间和方式以及它是哪个元素。只要遵循指南的精神,你就会没事的。以上是关于如何将pickerColumn 的宽度调整为pickerColumns 内的文本?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 UIView 的大小调整为特定的高度和宽度,包括其子视图?