2017-08-27 3 views
0

これは、メインビューの4つの辺に垂直方向と水平方向の両方に配置され、ビューと同じ幅と高さになるように設定されたUIScrollViewです。私がUIScrollViewの上に置いたすべてのサブビューは、アプリケーションを実行するときに表示されます。どこにあるのか正確にはわかりますが、下部のUITextViewだけは表示されません。私は制約のすべての組み合わせを試したようだが、私が何をしていてもアプリを実行すると決して出現しない。ここでは、インタフェースビルダーでの制約のスクリーンショットです:UITextViewはUIScrollViewに表示されません

Interface Builder

そして、私は実行する前に、ファイルMain.storyboardをプレビューする場合でも、それは次のようになります。

Preview of Main.storyboard

しかし、ときに私実際にアプリケーションを実行すると、多くの方法で制約を変更しても、画面にUITextViewが表示されません。

Running the app

この問題のお手伝いをさせていただきます。前もって感謝します。

+2

なぜこれらの赤い制約?修正する自動レイアウトの問題があります。 –

+0

はい私は知っていますが、私は彼らが赤くならないようにすることはできません。助言がありますか? – James

+0

は、それが何であるかを正確には分かりませんが、この行は疑問をもたらします:UIScrollViewは、メインビューの4つの辺すべてに縦横両方向に拘束されます。あなたが与えたいくつかの望ましくない制約のようです。すべてのビュー階層が存在するかどうかを確認できます。右上に赤いマークが表示されます。 –

答えて

0

回避に役立ちます願っています。自動レイアウトが分割されます。 にあなたが必要とする:

  • 0制約で、UIScrollViewUIViewを追加 - 0 - 0からtop - - bottomから0leadingからtrailingUIScrollViewに、そのUIView内のすべてのサブビューを置きます。

その後、コードでUIScrollViewyou need to set thecontentSizeとなります。

また、次のことができます。

  • add missing constraintsが不足しているかを確認します。

enter image description here

  • UIStoryBoardで左側のパネル(ドキュメントアウトライン)、あなたは存在しないか、または矛盾れるかを見るために現れて赤い矢印を押すことができます。

enter image description here

詳細はApple documentationをチェックしてください。

+1

非常に詳細な答えをありがとう!出来た! – James

+0

@James素晴らしい! :) –

0

あなたは縦に使用すると、そのsuperViewに等しいので、それを削除し、ちょうどそのsuperViewに幅を設定し、それは私が提供それ 内subViewsに基づいて高さを計算する必要があり、その高さを設定しないでください、あなたのscrollViewだけスクロールしたい場合あなたのscrollViewUIViewをドラッグし、その4辺に制約を設定し、containerViewという名前をつけてから、その幅を背景ビューに設定し、スクロールビュー内ではなくビューをレイアウトするようにします:) すべてのビューの高さスクロールビューでは、スクロールビューの高さを推測することができます この場合、containerViewに固定された高さを設定することができます800赤い線を取り除き、それがどのように動作するか確認してください:)

0

私はあなたが解決しなければならないかもしれないいくつかの手掛かりに気付きました。 scrollViewそのコンテンツの要素によって拡張され、明示的scrollView内の各要素に対処する必要があるので:上ImageViewのために

  1. がうまく制約されていない、あなたはそれを幅やアスペクト比を与える必要があります。テキストビューの高さの問題を解決するかもしれないimageViewの問題を修正しても、それはまだ良いスタートではありません。

  2. TextViewボトムアンカーは、scrollViewボトムアンカーと同じですが、textViewもscrollViewのようなものであることがわかります。それで、お互いを同時に制約することは合理的ではありません。どちらも明示的に高さを持たないからです。 textViewにいくつかの単語を入力すると、コンテンツの高さを少なくとも与え、次にscrollViewはtextView bottomAnchorを検出できます。あなたは何かを見るかもしれません。

  3. あなたのscrollViewの高さがviewの高さに等しいことも奇妙です。scrollViewは最初にその高さを制限するべきではありません。それは高さが一定であるため、もう「スクロール」できないためです。その幅をviewに等しくし、要素の高さで高さを決定させます。それは文字通りスクロールビューになります。

は、それがscrollViewの内側に直接、すべてのサブビューを入れ

関連する問題