Swift
UISplitViewController のカラム幅はデフォルトではシステムが自動決定しますが、アプリの用途によってはマスター...
UISplitViewController は iPad 向けのコンポーネントという印象が強いですが、iOS 8 以降は iPh...
UISplitViewController には複数の表示モードが用意されており、マスター(プライマリ)とディテール(セカンダリ...
UISplitViewController を使ったアプリでは、マスター側でアイテムを選択し、その内容をディテール側に表示するの...
親から子、子から孫へとプロパティを順番に渡していくと、中間のビューが使いもしないデータをただ中継するだけの「バケツリレー」が発生...
`@State` は値型の管理に適しているが、ネットワーク通信やデータベースアクセスなど複雑なロジックを含むモデルはクラスで設計...
親ビューが `@State` で保持する値を子ビューから読み書きしたい場面は頻繁にある。たとえば、設定画面のトグルスイッチを独立...
SwiftUI のビューは構造体であり、通常はプロパティを直接変更できない。しかし UI では、ボタンのタップやテキスト入力に応...
ビュー階層が深くなると、親から子、子から孫へとオブジェクトをバケツリレーのように渡す必要が出てくる。@ObservedObjec...
SwiftUI で ObservableObject を扱う際、@StateObject と @ObservedObject と...
SwiftUI でビューとデータを結びつける仕組みの中心にあるのが ObservableObject プロトコルだ。このプロトコ...
直線と円弧だけでは、自然な曲線を表現するのは難しい。波打つリボン、滑らかに接続するカード UI の縁取り、有機的なブロブ形状。こ...
組み込みシェイプだけでは表現できない図形を描きたいとき、Path の出番になる。Path は座標を指定して自由に線を引けるプリミ...
SwiftUI には、よく使う図形があらかじめ用意されている。これらは Shape プロトコルに準拠した構造体で、ビューとしてそ...
SwiftUI の通常のレイアウトはスタックの中で相対的に位置が決まりますが、position と offset を使うとビュー...
SwiftUI のレイアウトシステムでは、スタック内の複数のビューが限られたスペースを奪い合う場面があります。layoutPri...
iOS 16 で導入された Layout プロトコルを使うと、VStack や HStack では実現できない独自のレイアウトロ...
iOS 16 で導入された ViewThatFits は、複数のレイアウト候補を用意しておき、利用可能なスペースに収まる最初のビ...
iOS アプリではセーフエリア(ノッチやホームインジケーターを避けた安全な領域)を意識したレイアウトが不可欠です。SwiftUI...
SwiftUI のレイアウトシステムでは、親ビューが子ビューにサイズを提案し、子ビューはその提案に基づいて自身のサイズを決定しま...
overlay と background は、ビューの前面や背面に別のビューを重ねるモディファイアです。ZStack と似た効果...
iOS 16 で導入された Grid は、LazyVGrid よりも細かいセルレベルの制御が可能なグリッドコンテナです。行と列を...
LazyVGrid と LazyHGrid は、スクロール可能なグリッドレイアウトを構築するためのコンテナです。「Lazy」の名...
GeometryReader は、親ビューから提案されたサイズや自身の座標空間上の位置を取得できるコンテナビューです。通常の S...