【问题标题】:tag cloud, layout: horizontal, and Appcelerator Titanium标签云,布局:水平,和 Appcelerator Titanium
【发布时间】:2011-07-07 17:15:00
【问题描述】:

请注意:此问题与 Appcelerator Titanium 平台有关,与现有的 iOS SDK 无关。

我正在制作带有layout: horizontal 视图的标签云。我大部分时间都在那儿,但是如果不合适,我无法将最终的Titanium.UI.Label 换行。相反,它会变成椭圆形(以无用的方式)。

有没有办法在 iOS 上防止这种情况发生?似乎在 Android 上运行良好。

【问题讨论】:

    标签: layout label titanium appcelerator ellipsis


    【解决方案1】:

    如果您尝试将标签宽度设置为自动,Titanium 将在运行时计算标签宽度。 在水平视图中获取椭圆标签是有意义的。

    您可能需要确定标签云案例中的动态标签宽度。但是就留给钛吧,你只需要用这个棘手的代码将动态宽度更改为静态宽度。

    for (var i = 0; i < data.length; i++) {
                var label = Ti.UI.createLabel({ text: data[i], width: 'auto', height: 20,left: 5, top: 5});
    
                label.width = label.width + 5; //this determine width in runtime assign back to static width
                view.add(label);
            }
    

    【讨论】:

    • 你是我的英雄。谢谢!
    • 希望这可以帮助其他一些可怜的灵魂,因为我已经浪费了几乎一整天的时间。 label.width 现在是只读的,所以它需要一个不同的技巧来强制渲染。这对我有用:label.setWidth(label.toImage().width) 可能也是如此,但我还没有测试过:label.width = label.toImage().width 这也提供了一些不错的潜在解决方案:developer.appcelerator.com/question/120619/…
    【解决方案2】:

    iPhone 对此的回答是minimumFontSize,但这在标签云中没有任何意义...您是否考虑过将此添加到水平滚动视图并将contentWidth 设置为auto

    您的每个标签是否也将width 设置为'auto'?我想设置会导致单词溢出layout 并被推到下一行。

    【讨论】:

    • 不确定将其添加到水平滚动视图是什么意思。我不希望它都在一个可滚动的线上。每个都设置为“自动”(您可以看到它们没有设置宽度,屏幕截图中每个标签的宽度不同)。
    • minimumFontSize 在非标签云示例中发挥作用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-18
    • 1970-01-01
    • 1970-01-01
    • 2016-10-02
    • 2016-11-14
    相关资源
    最近更新 更多