2017-04-18 16 views
0

私が達成したいのは、2つのコンテナビューに2つのラベルがあることです。このラベルは動的に設定され、パーセントまたはドルのいずれかの金額を表します。私はまたそれらの間にイメージビューを持っています。私が達成したいのは "コンテナビュー - イメージコンテナビュー"です。私が抱えている問題は次のとおりです。左のコンテナにはパーセント値(0-100)があり、右コンテナビューには金額(潜在的には数百万まで)があります。私がしたいのは、ラベルを動的にサイズ調整し、最小限のスペースを取ることです。ここでは、画像のカップルがより良い理解を持っている:私は、空間に3つのビューがスタックビューを使用していますUIStackView内部の動的ビュー

This is the problem I am experiencing: percent is a single digit and takes small amount of space, while dollar amount is too long and is either cut off completely of scree, or trunkating

。これは問題への正しいアプローチですか?

Storyboard

EDIT:これは私が達成しようとしている最終的な結果である:

end result

+0

あなたは矢印画像を水平方向の中央になりたいですかこれはフルサイズですべてをフィットするのに十分な余地がない場合を調整するためのラベルができます?イメージキャップに表示されているように、 "$ 4 ..."というラベルに揃えられますか? – DonMag

+0

@DonMag理想的には、2つのコンテナ間の距離が等しくなるようにしたい(左の長さが2倍になることがあるということを心に入れてください) –

+0

hmmm ...それぞれのラベルが異なるViewController?または、2つのUILabelsと1つのUIImageViewを使用できますか? – DonMag

答えて

2

これはスタックビューで行うことができます。ここであなたがする必要があるものです:

これは、余分なスペースを埋めるために、画像表示のストレッチをしましょう、またはそれ以上を残すために縮小する100のような低数に画像ビューのコンテンツハグと圧縮抵抗の優先順位を設定し
  1. 数字のためのスペース。

  2. 画像ビューで最小幅の制約を設定すると、数値が本当に大きい場合は何も縮小されません。これを行うには、イメージビューに幅の制約を作成し、次に=の代わりにに編集します。 「アスペクトフィット」へのあなたのイメージビューのコンテンツモードを設定し

    image view constraints

  3. あなたのイメージビューの制約は、このように終わる必要があります。これはそれを歪めることなく利用可能なスペースに収まるように、必要に応じて、それは矢印画像を縮小または成長させるでしょう。あなたのラベルの

    arrow content mode

  4. を、0.5の値を「最小フォントスケール」に自動圧縮を設定し、 「文字間隔を狭める」をオンにします。

    label settings

結果:

demo screen shot

+0

UILabelsを使用していただきありがとうございます。しかし、矢印の両側にUIView(内側に2つか3つのラベルがある)を持っていたいのですが? –

+0

各UIViewのサイズを内部のラベルに基づいて制限すると、うまく動作します。 –

+0

おかげでRob、私は実際にあなたの答えを使用し、私の望む結果を達成するために文字列を割り当てました。とても有難い –

0

あなたStackViewを選択し、属性インスペクタを開き分布を変更比例充填 。私はまた非常に大きな数字をあなたのStackViewの外観に影響を見るためにテストするだろうが、私は正しく理解している場合はこれが動作するはずです。

関連する問題