はじめに
前回からの続きでSwiftUIのチュートリアル入門になります。
もと記事サイト
![](https://tatsunori-morita.com/wp-content/uploads/cocoon-resources/blog-card-cache/8c8f6e4facf0020077138aac5f26c7f0.jpg)
Step0
このセクションでは画像に対して、カスタムviewを作成して、マスク、ボーダー、ドロップシャドウを加えていきます。
Step1
まずは表示するための画像をXcode内にある、プロジェクトのassetに登録します。
左端に表示されているプロジェクト一覧からAssets.xcassets
をクリック。
![](https://tatsunori-morita.com/wp-content/uploads/2021/01/image-31.png)
アセット一覧が表示されるので、下の方にある+
ボタンを押して、Image Set
をクリック。
![](https://tatsunori-morita.com/wp-content/uploads/2021/01/image-32.png)
新しくアセットが作成されるので、名前をturtlerock
とし、適当な画像をドラッグ&ドロップします。
![](https://tatsunori-morita.com/wp-content/uploads/2021/01/image-33.png)
Step2
カスタムimage viewを作成していきます。
上の方にあるナビゲーションバーからFile > New > Fileを選択。
![](https://tatsunori-morita.com/wp-content/uploads/2021/01/image-34.png)
ファイル一覧が表示されるので、User Interface
欄にある、SwiftUI View
を選択して、Next
ボタンを押します。
![](https://tatsunori-morita.com/wp-content/uploads/2021/01/image-35.png)
ファイル名をCircleImage.swift
とし、Create
ボタンを押してファイルを作成します。
![](https://tatsunori-morita.com/wp-content/uploads/2021/01/image-36.png)
Step3
デフォルトでText("Hello, World!")
が作成されているので、これを削除。
代わりにImage("turtlerock")
を追加します。
![](https://tatsunori-morita.com/wp-content/uploads/2021/01/image-37.png)
先程追加した画像が表示されました!
![](https://tatsunori-morita.com/wp-content/uploads/2021/01/image-38.png)
Step4
デフォルトの画像の形状が四角なので、そのまま表示されています。
これをマスクを掛けて丸くします。
Imageの下に.clipShape(Circle())
を追加します。
![](https://tatsunori-morita.com/wp-content/uploads/2021/01/image-39.png)
Step5
画像にグレーのボーダーを付けます。clipShape
の下に.overlay(Circle().stroke(Color.gray, lineWidth: 4))
を追加します。
overlayメソッドに対して、ボーダー太さ4のグレーの円を渡して描画しているようですね。
![](https://tatsunori-morita.com/wp-content/uploads/2021/01/image-40.png)
![](https://tatsunori-morita.com/wp-content/uploads/2021/01/image-41.png)
Step6
シャドウを付けます。.overlay(Circle().stroke(Color.gray, lineWidth: 4))
の下に.shadow(radius: 7)
を追加します。
パラメータのradiusで影のサイズを指定できます。
ちょっとぼかしが入りましたね!
![](https://tatsunori-morita.com/wp-content/uploads/2021/01/image-42.png)
![](https://tatsunori-morita.com/wp-content/uploads/2021/01/image-43.png)
Step7
最後にボーダーのグレーの色を白色に変更します。
.overlay(Circle().stroke(Color.gray, lineWidth: 4))
を .overlay(Circle().stroke(Color.white, lineWidth: 4))
に変更。
![](https://tatsunori-morita.com/wp-content/uploads/2021/01/image-44.png)
![](https://tatsunori-morita.com/wp-content/uploads/2021/01/image-45.png)
まとめ
手を動かしながらいろいろ調べていると面白いですね。
シュミレータや実機でデバックしなくてもレイアウトが確認できるのは便利です。
いろんなデザインをトレースしたくなってきました。
コメント