なんとかフレーム問題が解決(?)……解決しましたので!
少々息抜きをしましょう。

ということで、本日は機能的な部分ではなく、見た目の改良に勤しもうと思います。

まずは、背景の設定。

今まで白背景で少々味気なかったので、素敵な画像を入れてみました。

「うむ、これだけでアプリの価値が3倍にはなったニャ」

そうでしょうとも。

土台のビューに背景を設定する、そんなプロパティがあると思っていたのですが、グーグル先生に聞いてみてもピッタリの方法は見つからず。

普通に「Image」をZStackで最背面に置いて、フレームサイズを調整して「全画面ビュー」に設定しました。

SwiftUIはとにかくシンプルな構造を組み合わせて作る、ということがだんだんわかってきましたので、もしかしたらこれで良いのかもしれません。うん、きっとそう。

次に、三角形の色と枠線の設定。

これ、パスで描いた矩形に対して、「背景色の設定」と「枠線の設定」を同時にできそうな気がするのですが、「fill()」を設定すると枠線が出ず、「stroke()」を設定すると背景色が出ない、という不思議な仕様の壁にぶつかりました。

グーグル先生に聞いてみると、様々な「工夫」が出てきました。

とりあえず今回は、「Overlay()」を使って、三角形を2重に描きつつ、片方には背景色を、もう片方には枠線を設定することで、なんとか形にすることに成功しました。

ふー。なるほど。色々クセがありますねえ。

息抜きにしてはアチコチ転んですり傷だらけですが、アプリの見た目は少しだけ良くなりましたので、気分良く次に進めそうです。

では次は、ボタンを押したら別の画面が開くようにしてみましょう。


Apple Developer Documentation
Instance Method > overlay
Layers a secondary view in front of this view.
外部リンクを開く