編集:here、を見てのために、私はgithubの上で少し例を作成しました
。このプロジェクトは以下の答えを示し、私が説明している技術を使用しています。
オリジナル回答:私はここに助言するものの
カップル。
まず、あなたはしばらく試してみましたが、すべての現在の制約を削除していることはわかっています。 ....
ビューはシーンのサイズにする必要があります。スクロールビューをフルスクリーンにしてシーンのサイズにする必要があるように見えます。
デフォルトで6Plusでデザインする場合、シーンのサイズは414x736なので、ビューとそれに含まれるスクロールビューは414x736になるはずです。
- コンテンツビューは、表示する実際のコンテンツのサイズである必要があります。たとえば、コンテンツが414x1000であるとすると、
ここで、スクロールビューの制約は簡単です。すべてのエッジに対してゼロの間隔が必要です。
あなたはいくつかの方法でscrollviewにコンテンツのビューを追加することができます。私がこれをやろうとする方法は、プロジェクトごとに異なり、主にシーンの複雑さに依存します。それが本当にビジーなシーンであれば、インターフェイスビルダのスクロールビューの外にコンテンツビューを保存して、簡単に作業してビュー全体を視覚化することができます。次に、コード内のスクロールビューにコンテンツビューを追加します。
よりシンプルな表示インタフェースビルダーのスクロールビューに追加することができます。最終的にはどのようにしても、コンテンツビューがスクロールビューよりも大きく、コンテンツが不明瞭になるため、インターフェースビルダーのコンテンツビューの可視性が失われる可能性があります。だからあなたのために遊んで、良い方法を見つける。
- コンテンツビューとすべてのサブビューを定義します。コンテンツビューはスクロールビューよりも大きい必要があります。それ以外の場合はスクロールしません。コンテンツビューのすべてのサブビューは、上から下への高さと左から右への幅を定義する必要があります。あなたのケースでは、スクロールビューは水平方向ではなく垂直方向にスクロールしているので、すべての幅をスクロールビューの幅に加算する必要がありますが、コンテンツビューの全高に加算する必要があります。
注:これを比例的に行うと、あなたの人生は後でもっと簡単になります。このすべてを固定高さで行うと、ストーリーボードはさまざまなデバイスサイズで破損します。
- 「トリッキーなビット」とは、直感的なやり方です。コンテンツビューをスクロールビューに固定する必要があります。コンテンツビューの高さがスクロールビューよりも高いことを忘れないでください。 Interface Builderの他のすべての状況では、ビューをスーパービュー(0パディング)に固定すると、それに応じて高さ(または幅)が調整されます。スクロールビューとコンテンツビューの関係については、これは起こりません。
まずピンcontentview
お知らせ-400?コンテンツビューはスクロールビューよりも大きいので、すぐにこれを変更します。
先ほど作成したことを下の制約(-400)を選択します:定数値の隣のドロップダウン矢印を選択し
を:
選択標準値を入力し、定数として0を入力します。
制約が崩れていないストーリーボードが作成されているはずです。ビルドして実行する場合、必要に応じてスクロールビューを取得する必要があります。
こんにちは、神の愛のために私はscrollview.top = topを得ることができません。 – JackyBoi
はい - 同じ問題があり、トップまたはボトムのいずれかの制約のいずれかが常にスーパービューではなくレイアウトマージンに設定されるという結論に達しました。しかし、それ自体が働くことを止めるべきではありません(私は思う*) – Damo
雅私は最初の場所でそれを得た方法驚いています – JackyBoi