SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

'); googletag.cmd.push(function() { googletag.pubads().addEventListener('slotRenderEnded', function(e) { var ad_id = e.slot.getSlotElementId(); if (ad_id == 'div-gpt-ad-1659428980688-0') { var ad = $('#'+ad_id).find('iframe'); if ($(ad).width() == 728) { var ww = $(window).width(); ww = ww*0.90; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/728+","+ww/728+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/728+","+ww/728+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/728+","+ww/728+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/728+","+ww/728+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(90*ww/728)+"px;width:"+728+"px;}", 0 ); } else { if ($(window).width() < 340) { var ww = $(window).width(); ww = ww*0.875; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/320+","+ww/320+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/320+","+ww/320+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/320+","+ww/320+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/320+","+ww/320+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(180*ww/320)+"px;width:"+320+"px;}", 0 ); } } } }); }); } else { document.write('
'); document.write('
'); }
ミニアプリを作って楽しく学ぶSwift

【作って学ぶSwiftアプリ開発入門】SwiftUIを使いこなしてミニアプリに遷移できるようにまとめよう!

ミニアプリを作って楽しく学ぶSwift入門 第8回

  • X ポスト
  • このエントリーをはてなブックマークに追加

 Swiftは、Appleが開発したプログラミング言語でiPhoneやiPad、MacやApple Watch、最近ではApple Vision ProなどさまざまなApple製品向けのアプリ開発に使われています。この連載では、ミニアプリを作りながらSwiftでのアプリ開発を学んでいきます。第8回は、これまで作ってきたミニアプリをひとまとめにし、1つのアプリからそれぞれのミニアプリに遷移できるようにします。

  • X ポスト
  • このエントリーをはてなブックマークに追加

はじめに

 前回は「福笑いゲーム」アプリを作成し、デバイス上でのドラッグ機能の追加方法を学びました。デバイスでできることが増えると、アプリ開発がどんどん楽しくなってきますよね?これまでに5つのミニアプリを作成し、多くの実装技術を身につけてきました。そして、いよいよ最終回です!

 今回は、これまで作ってきたミニアプリをひとまとめにし、1つのアプリからそれぞれのミニアプリに遷移して遊べる形へ仕上げていきます。この連載の最終回も、ぜひ楽しんで進めていきましょう!

開発環境

 この連載では、次の環境を使用しています。

  • macOS Sequoia 15.1
  • Xcode 16.1

プロジェクトを立ち上げる

 今回も前回と同じように作ったプロジェクトの中に新規ファイルを作成して進めていきます。それでは、Xcodeからプロジェクトを開いて、アプリ作りを進めていきましょう。

マイアプリリストを作る

ファイルを新規作成する

 これまで作成したアプリを集めたマイアプリリスト用のコードを記述するためのファイルを新規作成します。前回と同様に、新規ファイル作成手順でMyAppListView.swiftファイルを追加します。

 ファイル作成後、変数bodyのコードを以下のように書き換えてください。これまで作成したアプリのタイトル名を縦に並べています。

struct MyAppListView: View {
    var body: some View {
        VStack {
            Text("毎日いいことカウンター")
            Text("やるのかやらないのかコイントス")
            Text("愚っ痴る")
            Text("カップラーメンタイマー")
            Text("福笑いゲーム")
        }
    }
}

 最終的にナビゲーションエリアも含め、次のようになっていれば問題ありません。

 また、次のようなプレビューが表示されています。

縦型リストを作成するためにListを理解する

 Listは、SwiftUIが提供するスクロール可能な縦型リストを簡単に作成できるViewです。List を使うことで、設定画面を簡単に作成することができます。

 Listを使用することで、どう見た目が変化するのか確認するためにVStackListに書き換えます。

struct MyAppListView: View {
    var body: some View {
        // ここを変更↓
        List {
            Text("毎日いいことカウンター")
            Text("やるのかやらないのかコイントス")
            Text("愚っ痴る")
            Text("カップラーメンタイマー")
            Text("福笑いゲーム")
        }
    }
}

 VStackの時は、ただTextが画面中央に並んでいるだけでしたが、Listを使用するとリスト化され、上揃えになりました。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
Navigationを使った画面遷移を学ぼう

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
ミニアプリを作って楽しく学ぶSwift連載記事一覧

もっと読む

この記事の著者

リルオッサ(リルオッサ)

 ブレイクダンサー、時々iOSエンジニア。元ブレイクダンス世界2位。 現在は、楽しいことを追い求め、iOSアプリを作ったり、ビールを飲んだり、絵を書いたり、技術記事を書いたり、海外登壇チャレンジしたり、ブレイクダンスの大会を企画したりしています。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/20805 2025/06/05 11:00
" ); }

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

メールバックナンバー

アクセスランキング

アクセスランキング