今回も引き続き、このところ眺めてみている iOS アプリ開発を意識したチップス集的な「同じような処理だけどこっちの方がいいよってやつ」の続きを見ていきますね。話題としては
UIColor.systemBlue
のところから、これまでみたいな感じで眺めつつ Swift 言語周りと絡めて話せるところがあれば紹介しつつ、みたいな感じで進めていく見込みです。よろしくお願いしますね。——————————————————————————————————
熊谷さんのやさしい Swift 勉強会 #292
00:00 開始
00:39 Tint Color を使っていく
02:18 Tint Color とは?
02:59 システム設定によって変わる色
04:12 さまざまな色名が用意されている
07:53 標準の部品を使うことで意識しなくて済んだりもする
09:04 以前はよく独自の UI コンポーネントを作った気がする
11:12 ヌメロニムという表現方法
18:03 出来事を日にちで表現する習慣も
20:42 ヌメロニムは昔からあったらしい
21:49 Virtualization もヌメロニムで表現される?
23:20 末尾を英字にするものとしないものの違いは?
25:43 電話番号のアルファベット表現
28:06 クロージングと次回の展望
——————————————————————————————————
Transcription & Summarize : 熊谷さんのやさしい Swift 勉強会 #292
今日はまず、ブログのタイトルですね。ブログのタイトルは重要ですが、同じような内容でも、書き方次第で伝わり方が違うことがあります。「こっちのほうがいいよ」といった提案を含む内容を見ていきます。
このブログの続きを見ていく中で、「UIカラーのシステムブルー」という概念が出てきました。これは、知らない人も多いのではないかと思います。ティントカラーに関しても、UIカラーのシステムブルーを使うことがあるようですが、右側の設定などで変更が可能です。ティントカラーは、テーマカラーのようなもので、比較的最近導入されたものかもしれません。
iOSのどのバージョンから使えるようになったかは具体的にはわかりませんが、シンプルなUIデザインに移行してから導入されたような気がします。以前は、ボタンの視認性が悪くてユーザーから不満が出たこともありましたが、現在では慣れてきています。ティントカラーは、テキストやボタンの色を統一するために使われます。
ティントカラー(色合い)について少し調べてみました。UIカラーで規定されており、アプリやOSの設定によって変わるということです。ですから、デフォルトのアクセントカラーがシステムブルーであっても、グローバル設定でティントカラーを変えると、適切な色が出てこなくなる場合があります。そのため、ティントカラーを使うべきという話になります。
また、iOSのアクセントカラーが変わる可能性もあるため、なるべくティントカラーを使いましょう。さらに、UIキットの方で
UIカラー
やNSカラー
もあります。システムブルーのような定義された色があり、それは環境によって変わることもあるそうです。例えば、ダークモードなどです。UIインターフェース
というサブモジュールの中には、システムブルー以外にもシステムオレンジ、システムイエローなど多くの色が規定されています。また、iOS15から追加された色もあり、バージョンごとにどんどん増えています。UIカラー
をエクステンションして、たくさんの色が使えるのは便利ですが、多すぎると感じるかもしれません。標準の部品を使うと、システムが自動的に色を設定してくれるので、ユーザー側で意識することなく統一感を保てます。UIコンポーネントを提供する場合も、統一感のあるものを作るべきです。それを意識することで、見た目が綺麗にまとまり、ユーザーにも分かりやすいデザインになります。
以上のことから、UIカラーやティントカラーは非常に重要であり、それぞれの色が持つ意味と役割を理解して使うことが大切だということがわかります。 フレーズフォルダならこの色ですよ、といった感じでフレーズフォルダを提供するときに使うということですね。当たり前のことばかり言ってますね。
なるほど、最近UIコンポーネントを作るのが流行っているんですか?昔も流行っていましたよね。流行っていたというより、ツールがなかったのかもしれませんが、いろんなコンポーネントをいろんな人が作っていた印象があります。私自身もいろいろ工夫して作っていた記憶があります。しかし、最近は面倒だし、バージョンが上がると動かなくなることも多いです。また、アクセシビリティ、例えばボイスオーバーなどに対応することが重要視されるようになりました。そういったことへの対応が一度に発表された気がしますが、今は常識になっているのかもしれませんね。アクセシビリティ対応は理解しているつもりですが、自分でコンポーネントを作るのはちょっと厳しいと思います。
A11Yもアクセシビリティ周りの話ですね。調べてみると分かりますが、標準のコンポーネントを使うとアクセシビリティ機能が搭載されていて便利です。例えばハイコントラスト設定にすると、ちゃんとハイコントラストで見えるなど、色々な対応があります。また、「11」は最悪な名前付けだと思いませんか?プログラマーだと「V3E」と書かれると困りますよね。「i18n」もそうですね。文字列を何度も見ても覚えられないことがありますが、慣れれば覚えられるんでしょうね。ただアルファベットの頭文字を並べたものって、覚えていないとダメですが、比較的思い出しやすいです。個人的にはそう思います。
アルファベットの頭文字を並べたものは比較的思い出しやすいと感じます。長いフレーズを短縮して覚えるためにはこういう方法が使われますね。日本でも略語を使って意味を覚えることがありますし、これは単純に便利です。
日本でも震災のときに「3.11」などの表現が使われていましたが、それがきっかけでこういう略称が広まったような気がします。こうした略称は1980年代からも使われていますね。このIT業界でいろいろと略語を使うのはそのころからの流れだと思います。
これで終わりにしましょう。お疲れ様でした。ありがとうございました。


