私はiOS上にIMアプリケーションを実装しています。私は、画像とURLのリンクを表示するようなクールな機能を提供するTTStyledTextLabelがthree20ライブラリにあることを発見しました。しかし、私はメッセージのバブルにTTStyledTextLabelを埋め込みたいと思っています(iphoneのSMSのように)、テキストの長さに合わせてサイズを調整する必要があります。 TTStyledTextLabelは幅に応じて高さを調整できますが、テキストが非常に短く、行全体を埋めることができない場合、水平に縮小する方法はわかりません。助言がありますか?TTStyledTextLabelの幅を調整する方法は?
答えて
私は少しよりよい解決策を持っていると思う:私はttstyledtextのrootFrameを取得し、その兄弟が最大幅を見つけるために、フレームを反復します。
それは次のように動作します。興味のあるうち
TTStyledTextLabel* label = [[TTStyledTextLabel alloc] init];
label.text = [TTStyledText textFromXHTML:myTextToBeDisplayed];
[label sizeToFit];
CGFloat maxWidth = 0;
TTStyledFrame *f = label.text.rootFrame;
while (f) {
int w = f.x + f.width;
if (w > maxWidth) {
maxWidth = w;
}
f = f.nextFrame;
}
return CGSizeMake(maxWidth, label.height);
[label sizeToFit]の動作は何ですか?このシナリオでは?それは、画面の幅を越えてすべてをレイアウトしていますか? – user210504
sizeToFitにwidthパラメータをインクリメンタルに渡して、結果の高さを調べて、サイズが大丈夫かどうかを確認しました。しかし、これはのためのエレガントな解決策
ない(;指数< 320; int型のインデックス= 100インデックス=指数+ 30)
{label.width = X。 if(label.height < 20) break;
}
私はもう一度この解決策を確認しました。 – user210504
私は少し良い解決策があると思います:私はttstyledtextのrootFrameを取得し、最大幅を見つけるために兄弟フレームを反復処理します。 –
- 1. GridViewColumn幅調整
- 2. リストビューの幅調整
- 3. レイザードロップダウンリストの幅調整
- 4. UIStackView内のボタンの幅を調整する方法
- 5. グリッドビューでの列幅の調整を抑制する方法
- 6. Uiimageの高さと幅の比率を調整する方法
- 7. 画面の幅に応じてスクリプトを調整する方法
- 8. RxSwift - バッファの時間幅を調整する方法
- 9. YUIオートコンプリート:コンテンツにコンテナの幅を調整する方法
- 10. SegmentControllerのセグメントの幅を調整する
- 11. timevisの幅を調整するR
- 12. コアテキストの幅を調整するタブ
- 13. タブバーの幅を調整するiPhone
- 14. DatagridviewbuttonColumnの幅と色を調整する
- 15. グリッドビューの幅を調整する
- 16. QTableViewの列幅を調整する
- 17. ブートストラップの調整ツールチップの幅
- 18. TTStyledTextLabelのリンクフォントを設定する方法
- 19. 幅を調整しない
- 20. CSSラッパーの幅をモニターのサイズに合わせて調整する方法は?
- 21. jsf2プライムフェイスのタブの幅と高さを調整する方法は?
- 22. monotouch.dialog styledstringelementセル幅を調整する
- 23. ext.jsパネルで行の高さと幅を自動調整する方法は?
- 24. データがロードされた後にjqgridの列幅を調整する方法は?
- 25. フローティングエレメントの調整方法は?
- 26. ボタンの調整方法は?
- 27. モーダルハイトの調整方法は?
- 28. CSSでページ幅が変わると列サイズを調整する方法は?
- 29. Android:カスタムリストビューを調整する方法は?
- 30. wicketの別のコンポーネントに基づいてパネルの幅を調整する方法
、私はあなたが実際にIM機能のために使用しているものを求めることができますか? libpurple? – Pripyat