ScrollViewとVStackの扱い

はじめに

ScrollViewとVStackの使い分け、というか使い方。AppleWatchでの話。

発端

Apple Watchの画面にViewを並べていく時にVStackを使って並べていました。たくさんViewを並べていくと、当然画面から溢れます。

ここで期待することは、デジタルクラウンや画面のスワイプで溢れた分を表示する動き。でも動かない。

あぁそうかScrollViewを使えばいいじゃん。ScrollViewにViewを全部放り込んで、と。おぉ動いためでたしめでたし。

ちょっと待てい!

ScrollViewとはスクロールできるVStackという認識でいいのだろうか?

多分違う気がする。それぞれで役割があるはず。

現時点での考え(私見)

しばらくWebを徘徊し、おおよその考え方がまとまってきた。間違ってるかもしれない。

  • VStackは、複数のViewを並べるもの
  • ScrollViewは、スクロールにより大きなViewの全体を表示するもの

そもそも、ScrollViewの役割は複数のViewを並べるのではないということですね。今回はたまたまきれいに並んだだけで、常に想定通りに並べられるわけではないようです。

上記の定義から考えると、ScrollViewの中にVStackを内包するような使い方が良さそうです。

疑問点

  • 横方向に大きなViewを内包するScrollViewは、横方向にもスクロールできるということだろうか?
  • 画面いっぱいではなく、画面内の一部だけScrollViewにすることができるのか?