2016-04-17 19 views
0

これは恐ろしいAutoLayoutと関係があります。UIScrollViewコントローラが完全にスクロールしない

を(それのこつを取得するために2日以来しようとして)だから私はややそれをマスターし、今私はUIScrollViewのは、完全にはスクロールダウンされていない問題を抱えている、写真は SuperView

このこれらの事を説明するはるかに優れていますスクロールビュー enter image description here

これはそれほど問題はスクロールが起こっているが、その後、再び、それはバックアップスプリングであるコンテンツビュー enter image description here

されています。だから私はあなたのコンテンツビューにスーパーするというあなたのbottomspaceが-74.0に設定されているEDIT 1 enter image description here

答えて

3

編集:here、を見てのために、私はgithubの上で少し例を作成しました

。このプロジェクトは以下の答えを示し、私が説明している技術を使用しています。

オリジナル回答:私はここに助言するものの

カップル。

  1. まず、あなたはしばらく試してみましたが、すべての現在の制約を削除していることはわかっています。 ....

  2. ビューはシーンのサイズにする必要があります。スクロールビューをフルスクリーンにしてシーンのサイズにする必要があるように見えます。

デフォルトで6Plusでデザインする場合、シーンのサイズは414x736なので、ビューとそれに含まれるスクロールビューは414x736になるはずです。

  1. コンテンツビューは、表示する実際のコンテンツのサイズである必要があります。たとえば、コンテンツが414x1000であるとすると、

ここで、スクロールビューの制約は簡単です。すべてのエッジに対してゼロの間隔が必要です。

enter image description here

あなたはいくつかの方法でscrollviewにコンテンツのビューを追加することができます。私がこれをやろうとする方法は、プロジェクトごとに異なり、主にシーンの複雑さに依存します。それが本当にビジーなシーンであれば、インターフェイスビルダのスクロールビューの外にコンテンツビューを保存して、簡単に作業してビュー全体を視覚化することができます。次に、コード内のスクロールビューにコンテンツビューを追加します。

よりシンプルな表示インタフェースビルダーのスクロールビューに追加することができます。最終的にはどのようにしても、コンテンツビューがスクロールビューよりも大きく、コンテンツが不明瞭になるため、インターフェースビルダーのコンテンツビューの可視性が失われる可能性があります。だからあなたのために遊んで、良い方法を見つける。

  1. コンテンツビューとすべてのサブビューを定義します。コンテンツビューはスクロールビューよりも大きい必要があります。それ以外の場合はスクロールしません。コンテンツビューのすべてのサブビューは、上から下への高さと左から右への幅を定義する必要があります。あなたのケースでは、スクロールビューは水平方向ではなく垂直方向にスクロールしているので、すべての幅をスクロールビューの幅に加算する必要がありますが、コンテンツビューの全高に加算する必要があります。

注:これを比例的に行うと、あなたの人生は後でもっと簡単になります。このすべてを固定高さで行うと、ストーリーボードはさまざまなデバイスサイズで破損します。

  1. 「トリッキーなビット」とは、直感的なやり方です。コンテンツビューをスクロールビューに固定する必要があります。コンテンツビューの高さがスクロールビューよりも高いことを忘れないでください。 Interface Builderの他のすべての状況では、ビューをスーパービュー(0パディング)に固定すると、それに応じて高さ(または幅)が調整されます。スクロールビューとコンテンツビューの関係については、これは起こりません。

まずピンcontentview

enter image description here

お知らせ-400?コンテンツビューはスクロールビューよりも大きいので、すぐにこれを変更します。

先ほど作成したことを下の制約(-400)を選択します:定数値の隣のドロップダウン矢印を選択し

enter image description here

を:

enter image description here

選択標準値を入力し、定数として0を入力します。

制約が崩れていないストーリーボードが作成されているはずです。ビルドして実行する場合、必要に応じてスクロールビューを取得する必要があります。

+0

こんにちは、神の愛のために私はscrollview.top = topを得ることができません。 – JackyBoi

+0

はい - 同じ問題があり、トップまたはボトムのいずれかの制約のいずれかが常にスーパービューではなくレイアウトマージンに設定されるという結論に達しました。しかし、それ自体が働くことを止めるべきではありません(私は思う*) – Damo

+0

雅私は最初の場所でそれを得た方法驚いています – JackyBoi

0

あなたが持っていた理由がある場合、私は知らない、申し込みボタンを

をクリックすることはできませんよこれを行うには、-8.0に設定してみてください。私はあなたのスクロールビューは自動的に0.0マークまでスクロールしていると思います

関連する問題