2017-12-24 47 views
6

私はcontentViewの高さの制約に問題があります。すべてのラベルは動的高さ、つまり固定高さはありません。スクロールビューの高さと同じ高さに設定するためのどこかを読んだことがあります。UIScrollView ContentView動的高さの制約

ViewControllerの高さは現在870ピクセル、スクロールビューの高さは757ピクセルです。特定のポイントの後にスクロールすることができないため、AutoLayoutでどのように高さを設定することはできません。私が最初にUIScrollViewの設定した

Appearing in Simulation ViewController in main.Storyboard

私はUIScrollViewのの子としてのUIViewを添加し、次いでI 2 UIImageViewと少数UILabelsを加え、UILabelのサイズは、コンテンツに依存しており、コンテンツが固定されていません。 UIViewの高さは静的なので、UILabelのコンテンツがかなり大きい場合は、あるポイントの後にスクロールできません。

私が何を意味することは、あなたがスクロールビューは、コンテナと同じ高さ/幅になりたいということであれば、今、私はスクロールビューあいまいな高さの問題にenter image description here

+0

身長をどのように設定しようとしていますか? –

+0

私はちょっと混乱しています高さをメインビューと同じに設定したい –

+0

contentviewの高さを設定しないと、警告が表示され、scrollviewは機能しません。 –

答えて

0

このようにそれを実行します。

  1. はヨーヨーにスクロールビューを追加します。コントローラを表示し、制約を設定しないでください。
  2. スクロールビューでサブビュー(画像、ラベルなど)を追加して、必要な制約を設定します。ラベルの場合は、高さを設定する必要はありません。コンテンツに応じて高さが自動的に変更されます。他のサブビューでは、後で高さ(つまり縦横比)を決定する高さまたは他の制約も設定します。追加したいすべてのサブビューに対してスクロール表示が小さすぎる場合は、下からドラッグして高さを上げます。すべてのサブビューをスクロールビュー内に保持し、それらのサブビューを互いに連結することが重要です。
  3. スクロールビューの最後のラベルについては、スクロールビューにボトムコンストレインを追加します。
  4. スクロールビューのマージン制約をメインビュー(上、上、下、後)に追加します。

スクロールビュー内のすべてのサブビューがチェーンされ、上下に固定されており、スクロールビューがストーリーボードのビューに固定されているため、これは機能します。

スクロールビューの高さを設定しないでください。 757ピクセルに設定するのは、高さが757ピクセル未満のデバイスでスクロールビューを画面の下にレンダリングするため、間違っています。

+0

スクロールビューの取得に曖昧なスクロール可能なコンテンツの高さがあります –

+0

つまり、スクロールビューの少なくとも1つのサブビューに対して、高さの制約(ほとんどはラベル以外のもの)または上/下の制約が必要なサブビューの高さの制約がありません。 –

+0

私は制約を加える間に何か間違いを犯しました。 –

0

を取得しています、いくつかの変更を加えた@Wonder犬の答えを1としてビュー:ストーリーボードへ

  1. 移動し、(
  2. は、すべての4辺に同じステップを行い、親コンテナの端のいずれかにスクロールビューからの眺め
  3. を押して、「CTRL」とドラッグを見つけます上、l EFT、あなたが親からマージンピクセルの「0」は(数に制約を設定する必要があるかもしれませんスクロールビューの下、右端)

は、すべてのことを確認してください(この絵に従うことをお試しください行が(オン)太字で、テキストボックスに「0」に値を設定します。

enter image description here

+0

私の問題は、例えば、すべてのラベルがそれぞれ20行ということです。私は特定のポイントを越えてスクロールできません。 –

+0

私は詳細を更新しました。 –

関連する問題