2017-11-25 16 views
0

iOSアプリの開発をXcodeに開始したばかりです。Xcodeストーリーボード - マルチラベル表示の複数スタックビュー

Storyboardには、水平/垂直内に入れる必要があるLabelsの8つのセットがあります。Stack Viewsそのうちの1つは複数行ですLabel、つまり行は2に設定され、テキストにはと入力された改行があります。 + と入力します。

+---------------Stack View+1-(100%)-------------------+ 
| +--Stack View 2-(50%)-+ | +---Stack View 3-(50%)--+ | 
| |Label 1    | | | +--Stack+View 4-----+ | | 
| +---------------------+ | | |Label 3|Label 4 | | | 
| |Label 2    | | | +-------+-----------+ | | 
| |Multiline   | | +-----------------------+ | 
| +---------------------+ | | +--Stack+View 5-----+ | | 
|       | | |Label 5|Label 6 | | | 
|       | | +-------+-----------+ | | 
|       | +-----------------------+ | 
|       | | +--Stack+View 6-----+ | | 
|       | | |Label 7|Label 8 | | | 
|       | | +-------+-----------+ | | 
|       | +-----------------------+ | 
+-------------------------+---------------------------+ 

Stack View 1が画面と同じ幅でなければなりません:私が達成したい何 Eight Labels with one being multiline

は(視覚的なものよりも概念図のより)のようなものです。 Stack Views2および3は、画面の幅の半分を塗りつぶすように拡張する必要があります。それに応じて両方とも拡大すべきです。 Labels468357はテキストのみをフィットするのに十分な幅もしなければならないのに対し、Stack View3の残りの幅を埋めるために展開する必要があります。

私は、最も外側の水平Stack Viewに拘束を使用してエッジを抱き締めます。

Stack Viewsを追加し、さらにこれらを追加すると、Stack ViewsStack Viewが期待通りに機能します。しかしStack Viewに一行Labelと複数行Labelを追加 Some single line Labels added to Stack Views

zerowidthのになってきてStack Viewにつながる: Single line and multiline Labels added to a Stack View

Stack Viewに、この垂直Stack Viewを追加することは非常に広いwidthの新しい新しいStack Viewを作ります: Stack Views added to another Stack View

複数行なしで同じ操作を行うと、Labelが正常に動作します。マルチラインLabelで目的のレイアウトを達成するにはどうすればよいですか?

私はStack Viewsに制約を設定しようとしましたが、何も試したことがないようです。

を編集してください:解決策が見つかりました:Multiline label in UIStackView。私の問題には、複数のLabels(以前検索したもの)ではなく、複数行Labelがありました。複数のLabelViewの中に埋め込む前に、Stack Viewに問題を解決しました。

+0

あなたのストーリーボードを共有できますか? –

答えて

1

最も外側のstackviewには、3つの制約、top、leading、trailingが必要です。 contentSizeから高さ制約を推論します。

サブタスクビューで横向きのコンテンツの圧縮と水平方向のコンテンツ圧縮の値を設定する必要があります。最も外側のスタックビューは、圧縮/伸長するスタックを知っています。塗りつぶし、等しいサイズのように)。

複数のラベルを持つスタックビューで同じことをする必要があります。また、ラベルの振る舞いを適切に設定する必要があります(例:単語の折り返し、収縮に合わせる、numberOfLinesなど)。

+0

幸運のない制約を設定しようとしました... 私の場合に特有のことは何ですか? – Kanchu

+0

これらは正しい制約です。すべてのサブビューに対して横向きのコンテンツの抱擁とコンテンツの圧縮を設定しましたか?あなたの意図がラベルの幅に及ぼす限り、わからないので、ここで使用する値を教えてもらえません。 stackviewsを使用しているときは、1)一定の割合のビューまたはスペーシングが必要です。2)スペースが増減したときに要素が縮小および拡大する方法のアイデア。コンテンツ属性を適切に設定できます。 –

+0

'StackView 'に追加する前に複数行の' Label'を 'View'の中に埋め込むことで問題が解決されました。 – Kanchu

関連する問題