SHOEISHA iD

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

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

ミニアプリを作って楽しく学ぶSwift

【作って学ぶSwiftアプリ開発入門】ランダムでコインの裏表を表示するコイントスアプリを作ろう!

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

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

 Swiftは、Appleが開発したプログラミング言語でiPhoneやiPad、MacやApple Watch、最近ではApple Vision ProなどさまざまなApple製品向けのアプリ開発に使われています。この連載では、ミニアプリを作りながらSwiftでのアプリ開発を学んでいきます。アプリ作成の第2弾は、コイントスアプリです。

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

はじめに

 前回は、アプリ「毎日いいことカウンター」を作りました。アプリが実際に形になるとワクワクしませんか?今回も楽しんでアプリを作っていきましょう。

 アプリ作成の第2弾は「やるのかやらないのかコイントス」を作ります。生活の中で究極の2択を迫られる場面は多いと思いますが、そんな時に代わりに決断してくれるアプリがあったらいいなと思ったことはありませんか?今回は「やる」か「やらない」をコイントスで決めるアプリを作って素早い決断ができるようになりましょう。

 友だちが揉めている時に「揉めたらコインで」とスッとアプリを出せたら、きっとカッコいいと思います。

開発環境

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

  • macOS Sequoia 15.1
  • Xcode 16.1

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

 前回は、0からプロジェクトを作成しましたが、今回からは作ったプロジェクトの中に新規ファイルを作成して進めていきます。まだ作成していない方は前回のプロジェクトの準備を参考にして新規プロジェクトを作成してください。

 それでは、Xcodeからプロジェクトを開いて、アプリを作っていきましょう。

アプリ 「やるのかやらないのかコイントス」を作る

ファイルを新規作成

 やるのかやらないのかコイントス用にコードを記述するためのファイルを新規作成します。

  1. Xcode上部メニューバーからFileNewFile from Template…を選択します。
  2. テンプレートを選択する画面が表示されます。①プラットフォームは、iOSを選択し、User Interface下の②SwiftUI Viewを選択、③Nextを押します。
  3. 保存先を選択する画面では、④のファイル名にYesNoCoinTossViewを入力し、⑤の項目が同様の値になっていることを確認し、⑥Createを押します。
  4. 作成が完了すると、Xcodeのナビゲーターエリアに作成したYesNoCoinTossView.swiftファイルが表示されます。

 このファイルのコードを更新しながらアプリを作っていきます。

Viewを任意の間隔で縦に並べる

 今回のアプリでも各要素を縦に並べていきます。前回学んだVStackを使用して変数body内のコードを次のように書き換えます。

import SwiftUI

struct YesNoCoinTossView: View {
    var body: some View {
        VStack(spacing: 60) {
            Text("迷ったら時はコインで決めよう")
            Text("やる")
            Text("コインを投げる")
        }
    }
}

 前回使用したVStackと違う点は、spacing: 60の値が割り当てられている点です。このspacingに値を設定すると、VStack内に配置している各要素のスペースを設定することができます。また、値を設定しない場合はデフォルトの値が使用されます。

 今回は60を設定しているため、各要素のスペースが60になっています。

Viewを異なる間隔で縦に並べる

 前述では各要素のスペースを60に設定しましたが、アプリを作る中で「特定のViewの間隔だけは変えたい」といったシーンはあると思います。

 そんな時は、VStackの中でVStackを使用することができるため、それぞれに指定したいスペースを設定することができます。

 変数body内のコードを次のように書き換えます。

struct YesNoCoinTossView: View {
    var body: some View {
        VStack(spacing: 60) {
            Text("迷ったら時はコインで決めよう")
            
            VStack(spacing: 32) {
                Text("やる")
                Text("コインを投げる")
            }
        }
    }
}

 このコードでは、変数body内に二つのVStackがあり、外側と内側のVStackにそれぞれ違うスペースを設定することで、特定のViewの間隔だけは変えています。

文字を改行する

 一番上部のTextの文字列を次のように変更してください。

Text("迷ったら時は\nコインで決めよう")

 改行する箇所に追加した\nは改行をするための制御文字です。\nの次の文字から改行することができます。アプリ側ではもちろん\nが文字列として表示されることはないので安心してください。

Textを中央揃えにする

 一番上部のTextの改行ができましたが、アプリのタイトルらしく中央揃えをしたいと思います。

 複数行のTextの配置方法はmultilineTextAlignmentモディファイアで指定することができます。一番上部のTextにこのモディファイアをつけてみましょう。

Text("迷ったら時は\nコインで決めよう")
       .multilineTextAlignment(.center)

 今回はTextの配置の値として.centerを設定しており、複数行のTextが中央揃えできているのが確認できます。

 また、.multilineTextAlignmentモディファイアには、次の選択肢があります。

TextAlignmentの名称と配置方法
TextAlignment 配置方法
.leading 左揃え
.center 中央揃え
.trailing 右揃え

 以上でタイトルは完成です。せっかくなので、前回学んだ.font(.largeTitle)を使用して、装飾しましょう。

Text("迷ったら時は\nコインで決めよう")
    .multilineTextAlignment(.center)
    .font(.largeTitle)

 これで少しずつ見た目が整ってきました。

次のページ
コインを作る

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

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

もっと読む

この記事の著者

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

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

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

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

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

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング