“ひ to り go と” = zumuya の人が記事を書く所

NSAppearance.current の役割

MacDev

なぜか天気予報の全国図で一番気温が高い日が多く 39℃ が当然のように何日も続いていた名古屋にもやっと秋が来た1。秋といえば Apple プラットフォーム開発者が忙しい季節。例によって iOS 12 の話は置いておくとして、ここで取り上げる話題はもちろん macOS Mojave についてだ。

Mojave といえばやはり目玉はダークモード2。WWDC 2018 の関連セッションビデオを見ると NSColor に追加されたシステムカラーの説明に重きが置かれている。

ユーザがいつでもモードを変更できるためこれらのカラーはそれに応じてダイナミックに変化するようになっていて、例えば NSColor.controlBackgroundColor はダークモードで描画すると暗いグレー、そうでなければホワイトとして描画される。

でもどうやって判別しているのか。システム全体が非ダークモード(ライトモード?)であってもダークなウインドウを混ぜることができるし、ライトなウインドウの中に一部だけダークなビューを混ぜることもできてしまう。そのためシステムの設定を取得しても意味がない。

そこで使用されているのが NSAppearance にある current というクラスプロパティ。NSView は draw(_:) とか updateLayer() が呼び出される直前にこれをセットしているため NSColor のシステムカラーは描画相手のことを知らないのに自身の値を変化させることができているようだ。

→ 続きを読む


  1. あのイベントで一人だけ涼しい服装をしていたのは自分が季節感のない人間だからではないと強調しておく。 ↩︎

  2. 個人的にはアクセントカラーが選べるようになったことの方がうれしい。 ↩︎

見た目は変わらずとも

Site

2018 年にもなってホームページの見た目や内部実装をいじくりまわすのが趣味な人間です。

昨日“Mac 開発話が聴ける Podcast エピソードまとめ”を公開(→ 2018.9.8)したけど、それをきっかけとして Web サイト全体のシステムに手を入れたので変更点をメモとして残しておく。

ファイルを加工して表示 - HTML のように管理

Documents に新しいページ(前述のまとめ)を追加するにあたり、この作業を効率化したくなった。Markdown で書きたいし。

→ 続きを読む

“Mac 開発話が聴ける Podcast エピソードまとめ”を公開

MacDev

iOSDC に初参加した勢いで勝手に変なまとめを作ってしまった。

iOS の世界とは異なり、macOS のソフトウェアを開発する人は少ない。さらに Cocoa ネイティブ、国内に限定したら 100 人いるのか不安になるレベル。

そんな開発者がごくまれに Podcast や YouTube に登場して話をしていることがある。どれも滅多に聞けない貴重な内容であり、本当に必要としている人に届かないのはもったいない。

そこで、このページではそんなエピソードを発見次第登録していく。

音声メディアじゃないと発信されないような内容も多いので、少しでも興味がある人は聞かないともったいない!