SwiftUI

SwiftUIカスタムビューの作成方法 | ステップバイステップガイド

ⓘ本ページはプロモーションが含まれています

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


スポンサードリンク

【2023年版】SwiftUIカスタムビューの作り方と実装手順

SwiftUIでカスタムビューを作成する方法をステップバイステップで解説します。初心者向けのコード例付きで、わかりやすく理解できるように構成しています。


SwiftUIカスタムビューの基礎と目的

なぜカスタムビューが必要か

SwiftUIでは、複数回使い重ねるUIコンポーネントや独自スタイルを適用する際にカスタムビューが必須です。例えば、アプリ全体で統一されたボタンデザインを実装したい場合、毎回同じコードを記述するのは非効率です。

カスタムビューの基本的な役割

カスタムビューは「再利用性」「スタイルの一貫性」「保守性の向上」という3つの目的で使われます。以下の表に具体例を示します。

目的 説明
再利用性 カスタムビューを作成することで、コードの重複を防げる ロゴボタンやナビゲーションバー
スタイルの一貫性 同じデザインを一括で変更可能 アプリ全体のテーマ変更
保守性の向上 変更が必要な場合、1か所だけ修正すれば済む フォーム入力フィールドの仕様変更

注意点:カスタムビューはプロジェクト全体で一貫して利用することを推奨します。


カスタムビューの定義方法

View構造体の作成

SwiftUIでは、カスタムビューを実装するためにはstruct + Viewプロトコルの組み合わせを使用します。以下のコードが基本的な構文です。

この例ではCustomButtonという名前のビューを作成し、背景色や角丸を設定しています。

@ViewBuilder属性の活用法

複数のビューを組み合わせる際は、@ViewBuilder属性を使用します。これにより、サブビューを構築する際に柔軟性が得られます。

このCustomCardビューは、テキストと背景色を組み合わせたカード型レイアウトとして機能します。


View構造体の作成手順

プロパティの宣言方法

カスタムビューにはプロパティ(property)を定義することで、外部からの値を受け取ることができます。例えば、ボタンのラベルや色を動的に変更したい場合に役立ちます。

この例では、labelcolorという2つのプロパティを宣言し、外部から値を渡して利用できるようにしています。

bodyプロパティの実装

SwiftUIではすべてのビューがbody: some Viewというプロパティを持ちます。このbodyプロパティ内にビュー階層を構築します。

このContentViewでは、先ほど作成したDynamicButtonを2つ配置し、色やラベルを変更して表示しています。


プロパティとサブビューの扱い方

@Stateプロパティの使い方

状態(state)が変化するUIが必要な場合、@State属性を使ってデータを管理します。以下の例ではボタンクリックで表示内容を変更しています。

このToggleViewは、@Stateで定義した変数を用いて画面の表示内容を動的に変更しています。

サブビューの埋め込み方法

複数のビューを組み合わせる際にはサブビューを使用します。例えば、以下のようにVStackHStack内にビューを配置できます。

このように、既存のカスタムビュー(CustomCard)をサブビューとして埋め込むことで、複雑なUI構成が可能です。


スタイルカスタマイズのポイント

Modifierの活用法

SwiftUIではmodifier(修飾子)を使ってスタイルをカスタマイズできます。以下に代表的なmodifierの一覧を示します。

modifier 用途
.padding() マージンの追加
.background() 背景色の変更
.foregroundColor() テキストやアイコンの色の変更
.cornerRadius() 角丸の設定
.shadow() 影の追加

色・配置・アニメーションの調整

カスタムビューにスタイルを適用する際は、modifierチェーンで連続的に適用することが可能です。

この例では、Textビューに複数のスタイルを一括で適用しています。アニメーションを追加するには.animation().transition()を使うこともできます。


実際のプロジェクトへの適用例

カスタムビューを使ったシンプルなアプリ構成

実際のプロジェクトでは、カスタムビューを利用してユーザーインターフェースを統一的に構築します。以下は簡単な例です。

このContentViewでは、ナビゲーションとリストを組み合わせた構成にしています。

コードサンプルの解説

以下は実際にプロジェクトに導入する際の手順です。

  1. カスタムビューを作成(例: CustomButton.swift)。
  2. プロジェクトに追加して、メインビューから利用可能にする。
  3. 色や形状などのスタイルをカスタマイズする。

注意点: ユーザーインターフェースの共通部品としてのカスタムビューは、アプリケーション全体で統一的に使用することを推奨します。


ダウンロードについて

※ダウンロードボタンについては、具体的な実装内容やリンクが未記載です。今後の更新でご提供予定です。


スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-SwiftUI