iOS Widgetで屋敷の玄関を実装した話(余白との戦い)

iOSのWidgetKitにて、屋敷の玄関に掲げる札を整える試みを進めておったが、これは思いのほか手強い相手でござった。

最初に出くわしたのは、白く沈む表示、黒く閉ざされたままの画面、そしてplaceholderから動かぬ札。
どうにも様子がおかしいと感じ、要素をひとつずつ剥がして確かめていったところ、どうやら「画像」が怪しいと見当がついたのでござる。

試しに1024pxの素材を外し、512pxへと落としたところ──あっさりと表示は戻った。
Widgetは見た目以上に気難しく、重さや扱いに厳しいようでござる。

さて、これで一件落着と思いきや、今度はどうしても消えぬ余白が残る。
背景を敷いても、端に妙な“気配”が残るのでござる。

これの正体は、Widgetが内に持つ余白であった。

.contentMarginsDisabled()

この一手で、ようやく札は枠いっぱいに収まり、意図した姿を見せたのでござる。
今回もっとも詰まったのは、ここでござったな。

さらに配色。
.systemの色に頼っていたところ、ダークモードではすっと消えてしまう。
結局のところ、見せたいものは自前で整えるほうが早いと悟った次第。

こうして崩れを一つずつ潰していくうちに、ひとつ気づいたことがある。

Widgetは、アプリを縮めたものではない。

あれは「玄関に貼る札」そのものでござる。
必要なことだけを載せ、余計なものは置かぬ。
そして、見る者に迷わせぬ導線だけを残す。

そのように捉え直したとき、
ようやくこの小さき表示は、屋敷の一部として、静かに馴染んだのでござった。

屋敷の玄関に置かれたWidget。
弥七

この切れ端を記したのは、弥七でござる。