2011-07-07 11 views
1

注:この質問は、在庫iOS SDKではなく、Appcelerator Titaniumプラットフォームに関するものです。タグクラウド、レイアウト:水平、Appcelerator Titanium

タグクラウドをlayout: horizontalビューで作成しています。私はそこでの方法のほとんどですが、それが収まらない場合は、最後のTitanium.UI.Labelを折り返す行にできません。代わりに、(無駄な方法で)省略されます。

私はiOSの上でこれを防ぐことができます方法はありますか? Androidで正常に動作するようです。

答えて

4

ラベル幅をautoに設定しようとすると、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); 
     } 
+0

あなたは私の奇妙な英雄です。ありがとうございました! – ceejayoz

+3

これは、私が一日中ほぼ無駄にしてくれたので、これは他の貧しい人々に役立つことを願っています。 label.widthは読み込み専用になっているので、レンダリングを強制するには別のトリックが必要です。これは私のために働きます: 'label.setWidth(label.toImage()。width)' これも同様ですが、まだテストしていません: 'label.width = label.toImage()。width' これはまた、優れた潜在的な解決策を提供します: https://developer.appcelerator.com/question/120619/how-to-get-label-size – maxm

1

iPhoneの答えはminimumFontSizeですが、タグクラウドでは意味がありません...水平スクロールビューにこれを追加し、contentWidthautoに設定しましたか?

widthのラベルには、それぞれ'auto'が設定されていますか?私は、単語がlayoutをあふれさせ、次の行にプッシュダウンされる設定を想像しています。

+0

水平スクロールビューに何を追加したらいいのかわかりません。私はすべてが1つのスクロール可能な行にあることを望んでいません。それぞれが 'auto'に設定されています(幅が設定されていないことがわかります。各ラベルの幅はスクリーンショットで異なります)。 – ceejayoz

+0

minimumFontSizeは非タグクラウドの例で扱います –

関連する問題