LINE2019.12.29SwiftUIにはVStackやHStackなどのコンテナでViewを10個までしか並べられない制限があります。11個以上のViewを並べる方法を紹介します。環境この記事の情報は次のバージョンで動作確認しています。arguments)になります。{Text("1行目")Text("2行目")Text("3行目")Text("4行目")Text("5行目")Text("6行目")Text("7行目")Text("8行目")Text("9行目")Text("10行目")Text("11行目")}}}VStackのイニシャライザを見ると次のように規定されています。Content)3つめの引数contentが実際に並べるViewを指定する部分ですが、この引数にSwiftUIのカスタム属性である@ViewBuilderが付いているのがポイントです。実はこの@ViewBuilder属性に、指定できるViewの数が10個までの制限があります。@ViewBuilderはVStack、HStack、Formなどのコンテナの他、Button、Pickerなどの多くの標準部品にも使われており、その全てにこの制限が適用されます。この制限を回避する方法を次節以降で紹介します。GroupでViewをグループ化するGroupでいくつかのViewを1つのViewにまとめる事で、コンテナに渡すViewの数を減らす事ができます。Groupは入れ子にする事も可能なので、実質的に数の制限は無くなります。次の例は、最後の3行を1つにまとめている為、VStackに渡されるViewの数は9個となり、制限内に収まっています。以下3行を1つのViewにまとめるText("9行目")Text("10行目")Text("11行目")}}}}ForEachを使った方法ForEachは繰り返し処理の中で、Viewを追加する仕組みです。次のように使い、先の例と同様の結果を得られます。1から11まで繰り返すText("\($0)行目")}}}}ForEachの詳しい使い方は次の記事を参照して下さい。【SwiftUI】ForEachの使い方(1/2)ForEachは繰り返し処理の中で、Viewを生成する仕組みです。名前の配列をループしてそれぞれをTextViewにしたり、メニュー項目に追加したりする事ができます。関連記事SwiftUI【SwiftUI】グラデーションの使い方グラデーションとは、連続した階調で色調や透明度が変化していく色の指定を指します。SwiftUIでは線形、放射状、円すい状の3種類のグラデーションが使えます。これらのグラデーションはすべて、Viewとして単独で使用したり、Modifier...SwiftUI【SwiftUI】Modifierをまとめて適用するコンテナで括られた複数のViewに対して、Modifierをまとめて適用する方法を紹介します。SwiftUI【SwiftUI】TextFieldの使い方テキスト入力に使うTextField()の使い方を解説します。SwiftUI【SwiftUI】Viewのフレームサイズ指定Viewのフレームサイズを指定する方法を解説します。フレームはレイアウトの基準となる枠で、実際のView表示サイズとは異なる事があります。特定の条件によってViewの見た目を変える方法を紹介します。SwiftUI【SwiftUI】Listの行削除Listからスワイプでの行削除を実現する方法を解説します。SwiftUI【SwiftUI】@Stateの使い方SwiftUIのデータバインディングの仕組みの一つである、@Stateについて解説します。複雑なViewを小さなViewに分割する事で、繰り返しを避け、ソースを見やすくする方法を紹介します。Viewを分割してもパフォーマンスに大きな影響を及ぼさないのがSwiftUIの特徴の一つです。【SwiftUI】ForEachの使い方(1/2)コメントコメントを書き込むメールアドレスが公開されることはありません。コメントをキャンセルメールアドレスが公開されることはありません。views2019.02.062019.04.07カテゴリーswift19SwiftUI23未分類3開発6プロフィール当サイトの運営者capibara1969アプリ開発が趣味で、現在はSwiftを勉強中だけど昔に比べて記憶力が低下していくのを日々実感しています。調べて覚えた事を忘れないように、このサイトに記録を残していきます。views2019.02.062019.04.07カテゴリーswift19SwiftUI23未分類3開発6プロフィール当サイトの運営者capibara1969アプリ開発が趣味で、現在はSwiftを勉強中だけど昔に比べて記憶力が低下していくのを日々実感しています。調べて覚えた事を忘れないように、このサイトに記録を残していきます。capibara1969スポンサーリンク。