17
14

Xcode Previews入門 〜コードを書かないで画面を作る〜

Last updated at Posted at 2020-09-21

はじめに

SwiftUIを使うことのメリットとして真っ先に上がるプレビュー機能ですが、実際にプレビュー機能を使いこなしている人は少ないように感じています。(自分含めて)

そこで、WWDC2020のセッションから学んだプレビュー機能をを使いこなせるようにし爆速にアプリの構築ができるようPreviewの基本やショートカットを記事にします。

今回は、Previewの基本的な使い方をご紹介させていただきます。

環境: Xcode12, macOS Catalina ver 10.15.6

:コマンド(Command)キー
:オプション(Option)キー
Ctrl:コントロール(Control)キー

Previewsの基礎

SwiftUIのアプリを起動すると以下のような画面になっています。

プレビューの実行・再実行 ⌘ + ⌥ + P

右上にあるResumeをクリックする、もしくはショートカットキー⌘ + ⌥ + Pでプレビューを実行することができます。
これは頻繁に使い開発効率が上がるので是非覚えておくと良いと思います。
Viewが反映されなくなったらとりあえずエラーが出ていない限り⌘ + ⌥ + Pで再描画されます。

スクリーンショット 2020-09-21 2.06.01.png

ビルドが走りますので、しばらく待つと以下のようにPreviewが表示されます。

スクリーンショット 2020-09-21 2.18.36.png

このままでも良いのですが、実際のViewにのみ注目したい場合はpreviewLayout(_:)を使うと良いです。PreviewProviderのContentViewに.previewLayout(.sizeThatFits) としてあげることでViewのみのpreviewにすることができます。

スクリーンショット 2020-09-21 2.28.00.png

Previewの表示・非表示

Previewは表示・非表示を切り替えることができます。
以下の図の①の箇所をクリックした後、②のCanvasをクリックすることで切り替えることができます。
もしくは⌘ + ⌥ + Enterでも可能です。

スクリーンショット 2020-09-21 2.39.06.png

Library

ライブラリーにはSwiftUIのViewとModifierがあります。
ライブラリーを起動するにはXcodeの右上にある+ボタンをクリックする。
もしくは⌘ + Shift + Lで表示させることができます。

スクリーンショット 2020-09-21 2.34.51.png

表示されるLibraryはいくつか種類があり、SwiftUIのViewを使いたいならViewsを選択しましょう。
種類は左から、Views, Modifiers, Snippets,Media, Colorとなっております。
状況に応じて使い分けましょう!

スクリーンショット 2020-09-21 2.45.11.png

これらのViewをPreviewの挿入したい箇所にドラッグ&ドロップすることでPreviewを最新の状態に保ちながら修正することができます。

このときドロップする箇所によって、自動的にVStackHStackにしてくれます。

Previewをクリック

previewに表示されたTextの文字列をクリックすると、TextのViewを選択することができます。

スクリーンショット 2020-09-21 11.54.01.png

Previewをダブルクリックするとエディタにフォーカスが移動し、テキストか画像かに関係なくViewの要素を簡単に変更できます。

スクリーンショット 2020-09-21 11.54.23.png

修正された内容も即時反映されます。

スクリーンショット 2020-09-21 12.07.55.png

Viewの複製 ⌘ + D

Preview画面でViewをクリックしている状態で⌘ + Dとすると選択したViewを複製することができます。

スクリーンショット 2020-09-21 13.29.55.png

画像の追加

PreviewとLibraryの機能を使うことで画像の追加がとても簡単に行えるようになります。

Assets.xcassetsファイルにお好きな画像をFinderなどからドラッグ&ドロップで置いておきます。

スクリーンショット 2020-09-21 17.10.16.png

⌘ + Shift + Lでライブラリを起動し、右から二番目のMediaをクリックすると、既に追加されている画像(drink_tapioka_tea_man)が表示されています。

スクリーンショット 2020-09-21 17.11.29.png

この画像をドラッグ&ドロップでHello World! LGTMの間におきます。

スクリーンショット 2020-09-21 17.16.09.png

そうすることで、以下のように表示されます。
SwiftUIでは実際のサイズの画像を表示するので、デカデカと表示されてしまいました。

スクリーンショット 2020-09-21 17.16.17.png

インスペクタの利用 ⌘ + ⌥ + 0

以下の図の箇所をクリックする、もしくは⌘ + ⌥ + 0でインスペクタを開きます。

スクリーンショット 2020-09-21 17.36.03.png

Previewの画像をダブルクリックして選択したのち、一番右の Attributes inspectorを選択します。

スクリーンショット 2020-09-21 17.43.51.png

Add Modifierをクリックすると現在の要素にあった推奨されるModifierが表示されます。

Resizableを選択します。

スクリーンショット 2020-09-21 18.06.30.png

随分と縦長になってしまったので、asaspectRatiopectを設定しましょう!

スクリーンショット 2020-09-21 18.09.56.png

contentModefitにしておきます。

スクリーンショット 2020-09-21 18.10.19.png

サイズを調整していきます。すでに見えているFrameSizeに適当なサイズを入れます。

スクリーンショット 2020-09-21 18.45.16.png

そろそろLGTMも文字が二つあるのは邪魔なので、Viewを選択した状態で⌘ + Deleteで削除します。

そしてTextの代わりに今までの要領で好きな画像を以下のように表示させてみましょう。

スクリーンショット 2020-09-21 19.00.02.png

アクション ⌘ + クリック

選択したViewを様々なコンテナ(VStack, HStack, etc )に埋め込むことができるアクションを利用します。
対象のViewをを押したままクリックでアクションを呼び出すことができます。

スクリーンショット 2020-09-21 19.01.37.png

HStackに格納してみました!

スクリーンショット 2020-09-21 19.03.17.png

これを繰り返し表示させてみます。再び、を押しながらクリックしてRepeat をクリックします。

スクリーンショット 2020-09-21 19.03.17.png

コーヒーが5個に増殖させることができました!便利ですね!

スクリーンショット 2020-09-21 19.05.23.png

テキストを目立たせる

タイトルとしてHello, world!を目立たせていきたいと思います。

インスペクタを表示し、Fontの項目をいじります。

スクリーンショット 2020-09-21 19.13.54.png

Fonttitle, Weightbold, Colorpurpleにしてみました。
お好きな形にしてみましょう!選択した色が即時反映されます。

スクリーンショット 2020-09-21 19.16.44.png

Modifierを無効にする

Modifierをクリアするには、コントロールの隣にある円形のインジケーターをクリックします。

スクリーンショット 2020-09-21 19.20.32.png

色を元に戻すことができました。

スクリーンショット 2020-09-21 19.24.32.png

Previewキャンバス上でインスペクタを呼び出す Ctrl + ⌥ + クリック

Ctrl + ⌥押しながら対象のViewをクリックすることで、右側にインスペクタの領域を取られる事なくModifierの値を変更することが可能です。

スクリーンショット 2020-09-21 19.26.33.png

プレビューの複製

ワンクリックでプレビューの複製が行えます。

スクリーンショット 2020-09-21 19.53.23.png

とても便利です。

スクリーンショット 2020-09-21 19.53.31.png

Previewをダークモードにする

Inspect Previewをクリックし、Color SchemeDarkにします。

スクリーンショット 2020-09-21 19.56.34.png

ダークモードになっていることが確認できます。

スクリーンショット 2020-09-21 20.10.50.png

## おわりに

XCodeのPreview機能の触りを実際に動かしながら解説しました。
次回は、自分で作ったカスタムViewやカスタムModifierを作る記事を書こうと思います。

参考

Visually edit SwiftUI views - WWDC 2020 - Videos - Apple Developer

17
14
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
14