私は、横に置かれた箇条書きの点を持つ3つのラベルを持っています。私は箇条書きのカスタムデザインをしたいので、UIImageとして使うべきだと思った。私はそれを説明させてください:動的なUILabelに応じてContainerViewの幅を自動調整
o PHP o Swift o Java
各ラベルとそれに割り当てられた箇条書きの間の固定された距離があります。ラベルは、次のラベルの箇条書きの点(PHP - Swiftの箇条書き点など)との距離も一定です。
最後に、私はそれを水平にビューに中央に揃えたいと思います。
上記のシナリオは、ラベルに静的テキストがある場合に機能します。しかし、私は動的テキストを使いたい。
私が考えた解決策は、3つのコンテナビューを作成することでした。だから私は持っているだろう:
しかし、それは動的/変化するテキストサイズに一貫して見えません。私はsizeToFitを使用してテキストをフィットさせますが、コンテナビューでは新しいViewControllerが作成されるため、コンテナビューの幅を'Bullet Point + Dynamic Label's width'に自動的に調整できるかどうかはわかりません。私は箇条書き+ラベルの幅に係る「コンテナビュー」の幅を自動的に操作することができるかどう
Parent ContainerView (or UIView?)
|-----------------------------|
| CV1 CV2 CV3 |
| |-----| |-------| |---| |
| |o PHP| |o Swift| |o C| |
| |-----| |-------| |---| |
|-----------------------------|
このシナリオはのみ動作します。したがって、私は各コンテナに対して固定マージンを作成し、水平方向に(おそらく親コンテナを使用して)中央に置くことができます。
これを達成する方法は何ですか?ストーリーボードやプログラムでそれを行う方法はありますか?
CV1がUILabelのsizeToFitの変更をどのように理解して、新しい幅(箇条書き+ラベルの幅)に独自の幅を更新するのか、実際にはわかりませんでした。この時点で、私はCV1 - CV2とCV2 - CV3は固定マージンを持つことを理解します。しかし、現在、ParentCVはCVにしたがって幅を調整し、CVは調整されません(CVからParentCVへの先頭と末尾を使用する場合)。その後、SuperViewのParentContainerを水平方向にセンタリングするのは簡単です。もっと詳細を教えてください。 – senty
'CV'sの中には、親と同じメソッドを適用する必要があります。したがって、箇条書きイメージの先頭の余白、箇条書きのイメージとラベルの間の垂直方向の間隔、およびラベルの末尾の余白を設定する必要があります。そしてこれがそうであるべきです、autolayoutは内部の内容に基づいて 'CV'の幅を設定します。 – Jelly
サンプルプロジェクトを作成してください。私は本当に混乱しており、これを学ぶことに非常に興奮しています。これまでに何を試みても何かが失敗しています:S – senty