1. ホーム
  2. ios

[解決済み] StoryboardでUIScrollViewを使用する方法

2022-07-24 23:30:15

質問

高さ1000pxのコンテンツを持つスクロールビューがあるのですが、ストーリーボード上で簡単にデザインできるようにレイアウトしたいのですが、可能でしょうか。

プログラム的にできることは知っていますが、どうしても視覚的に確認したいのです。ビューコントローラーにスクロールビューをつけると毎回スクロールしません。私が望むようにそれを動作させることは可能ですか、または私はコードでそれを行う必要がありますか?

どのように解決するのですか?

私は自分の質問に答えています。なぜなら、解決策を見つけるのに2時間費やしたからで、StackOverflowはこのQAスタイルを認めています。

最初から最後まで、これがストーリーボードで動作させる方法です。

1: ビューコントローラーに移動して Attribute Inspector .

2: サイズを Freeform に変更する。

3: そのストーリーボード上のメインビュー、スクロールビューではなく、トップレベルビューに移動してください。

4: クリック Size Inspector をクリックし、このビューを好きな大きさに設定します。私は高さを1000に変更しました。

これで、ストーリーボードにビューが設定され、スクロールの高さ全体を見ることができるようになり、デザインがしやすくなったことがわかります。

5: スクロールビューをドロップして、ビュー全体を占めるように伸ばします。これで、サイズ320,1000のスクロールビューが、ビューコントローラのビューの上に配置されました。

ここで、スクロールさせ、コンテンツを正しく表示させる必要があります。

6: スクロールビューをクリックし、その上で Identity Inspector .

7: User Defined runtime attribute のキーパスを持つ contentSize を入力し、SIZEをタイプして、コンテンツのサイズを入力します。私の場合は(320, 1000)です。

ストーリーボードにスクロールビュー全体を表示したいので、それをストレッチして320,1000のフレームを作成しました。

8: アプリケーションに runtime attribute をKeyPathで追加する。 frame で、タイプはRECT、0,0,320,416です。

これで、アプリを実行すると、可視スクロールビューは 0,0,320,416 のフレームを持ち、1000 までスクロールダウンすることができます。Storyboard でサブビューや画像などを表示させたいようにレイアウトすることができます。そして、ランタイム属性がそれを適切に表示するようにします。これらすべてを1行のコードなしに行うことができます。