SlideShare a Scribd company logo
1 of 2
Download to read offline
MojaveのDark Mode
AquaからDark Modeへ
Bitz 村上 幸雄
開発環境:MacBook Pro (Retina, 13-inch, Late 2013) macOS 10.13.6 Xcode 9.4.1
発表日:2018/10/17







■はじめに
Macintoshが革新的だったのは、白色背景に黒文字を表示したことだ。これは、macOSのAquaにも
受け継がれたのだが、MojaveのDark Mode登場により状況が変わった。説明を信じれば集中したいと
きはDark Modeが適しているそうだ。
真偽はさておいて、Dark Modeに試してみて感じるのは、Dark Modeに完全対応していないアプリ
ケーションが存在すると、画面が見苦しくなるということ。
今回の発表では、Dark Modeへの対応方法を駆け足で紹介してみる。
■lightとdark
システム環境設定で、従来のlightとdarkは切り替えらる。ということは、切り替えに追従して表示を
変更できるようにしないといけない、ということになる。
■UI Element Colors
ユーザインタフェースに使う色を直接記述してしまうと外観モードの切り替えに対応できないのは当
然だ。NSColorではユーザインタフェースのために以下のような色指定を用意している。
• labelColor
• controlColor
• controlBackgroundColor
また、Color Set assetを独自に定義できる。
これを以下のように利用する。
以下は、色の定数を利用した例だ。
let aColor = NSColor(named: NSColor.Name("MyColor"))
独自のColor Set assetを利用したコードの例
override func updateLayer() {
self.layer?.backgroundColor = NSColor.textBackgroundColor.cgColor
}
色の定数を利用

More Related Content

More from 幸雄 村上

AppleScriptとは何ぞや
AppleScriptとは何ぞやAppleScriptとは何ぞや
AppleScriptとは何ぞや幸雄 村上
 
Web API 通信の符号化について
Web API 通信の符号化についてWeb API 通信の符号化について
Web API 通信の符号化について幸雄 村上
 
Master-Detail App を実装する
Master-Detail App を実装するMaster-Detail App を実装する
Master-Detail App を実装する幸雄 村上
 
SwiftのOptionalを理解する
SwiftのOptionalを理解するSwiftのOptionalを理解する
SwiftのOptionalを理解する幸雄 村上
 
Getting a packet trace
Getting a packet traceGetting a packet trace
Getting a packet trace幸雄 村上
 
The Bash in Tokyo : AppKitとUIKit
The Bash in Tokyo : AppKitとUIKitThe Bash in Tokyo : AppKitとUIKit
The Bash in Tokyo : AppKitとUIKit幸雄 村上
 
Swiftでブロックチェーンを実装する
Swiftでブロックチェーンを実装するSwiftでブロックチェーンを実装する
Swiftでブロックチェーンを実装する幸雄 村上
 
ゲームの企画書づくりに挑戦
ゲームの企画書づくりに挑戦ゲームの企画書づくりに挑戦
ゲームの企画書づくりに挑戦幸雄 村上
 
IBM Watson Services for Core ML
IBM Watson Services for Core MLIBM Watson Services for Core ML
IBM Watson Services for Core ML幸雄 村上
 
独自Documentクラス
独自Documentクラス独自Documentクラス
独自Documentクラス幸雄 村上
 
独自Documentクラス
独自Documentクラス独自Documentクラス
独自Documentクラス幸雄 村上
 
Document based application
Document based applicationDocument based application
Document based application幸雄 村上
 
デザインパターン
デザインパターンデザインパターン
デザインパターン幸雄 村上
 
七曜表と備忘録
七曜表と備忘録七曜表と備忘録
七曜表と備忘録幸雄 村上
 
サーバーレスアーキテクチャで悩んでます
サーバーレスアーキテクチャで悩んでますサーバーレスアーキテクチャで悩んでます
サーバーレスアーキテクチャで悩んでます幸雄 村上
 
OpenGLプログラミング
OpenGLプログラミングOpenGLプログラミング
OpenGLプログラミング幸雄 村上
 
神経回路網の計算
神経回路網の計算神経回路網の計算
神経回路網の計算幸雄 村上
 
日記アプリのデータ管理
日記アプリのデータ管理日記アプリのデータ管理
日記アプリのデータ管理幸雄 村上
 

More from 幸雄 村上 (20)

AppleScriptとは何ぞや
AppleScriptとは何ぞやAppleScriptとは何ぞや
AppleScriptとは何ぞや
 
Web API 通信の符号化について
Web API 通信の符号化についてWeb API 通信の符号化について
Web API 通信の符号化について
 
Master-Detail App を実装する
Master-Detail App を実装するMaster-Detail App を実装する
Master-Detail App を実装する
 
SwiftのOptionalを理解する
SwiftのOptionalを理解するSwiftのOptionalを理解する
SwiftのOptionalを理解する
 
Getting a packet trace
Getting a packet traceGetting a packet trace
Getting a packet trace
 
The Bash in Tokyo : AppKitとUIKit
The Bash in Tokyo : AppKitとUIKitThe Bash in Tokyo : AppKitとUIKit
The Bash in Tokyo : AppKitとUIKit
 
RUDP
RUDPRUDP
RUDP
 
Swiftでブロックチェーンを実装する
Swiftでブロックチェーンを実装するSwiftでブロックチェーンを実装する
Swiftでブロックチェーンを実装する
 
ゲームの企画書づくりに挑戦
ゲームの企画書づくりに挑戦ゲームの企画書づくりに挑戦
ゲームの企画書づくりに挑戦
 
IBM Watson Services for Core ML
IBM Watson Services for Core MLIBM Watson Services for Core ML
IBM Watson Services for Core ML
 
独自Documentクラス
独自Documentクラス独自Documentクラス
独自Documentクラス
 
独自Documentクラス
独自Documentクラス独自Documentクラス
独自Documentクラス
 
Bukuro.makers
Bukuro.makersBukuro.makers
Bukuro.makers
 
Document based application
Document based applicationDocument based application
Document based application
 
デザインパターン
デザインパターンデザインパターン
デザインパターン
 
七曜表と備忘録
七曜表と備忘録七曜表と備忘録
七曜表と備忘録
 
サーバーレスアーキテクチャで悩んでます
サーバーレスアーキテクチャで悩んでますサーバーレスアーキテクチャで悩んでます
サーバーレスアーキテクチャで悩んでます
 
OpenGLプログラミング
OpenGLプログラミングOpenGLプログラミング
OpenGLプログラミング
 
神経回路網の計算
神経回路網の計算神経回路網の計算
神経回路網の計算
 
日記アプリのデータ管理
日記アプリのデータ管理日記アプリのデータ管理
日記アプリのデータ管理
 

MojaveのDark Mode

  • 1. MojaveのDark Mode AquaからDark Modeへ Bitz 村上 幸雄 開発環境:MacBook Pro (Retina, 13-inch, Late 2013) macOS 10.13.6 Xcode 9.4.1 発表日:2018/10/17
 
 
 
 ■はじめに Macintoshが革新的だったのは、白色背景に黒文字を表示したことだ。これは、macOSのAquaにも 受け継がれたのだが、MojaveのDark Mode登場により状況が変わった。説明を信じれば集中したいと きはDark Modeが適しているそうだ。 真偽はさておいて、Dark Modeに試してみて感じるのは、Dark Modeに完全対応していないアプリ ケーションが存在すると、画面が見苦しくなるということ。 今回の発表では、Dark Modeへの対応方法を駆け足で紹介してみる。 ■lightとdark システム環境設定で、従来のlightとdarkは切り替えらる。ということは、切り替えに追従して表示を 変更できるようにしないといけない、ということになる。 ■UI Element Colors ユーザインタフェースに使う色を直接記述してしまうと外観モードの切り替えに対応できないのは当 然だ。NSColorではユーザインタフェースのために以下のような色指定を用意している。 • labelColor • controlColor • controlBackgroundColor
  • 2. また、Color Set assetを独自に定義できる。 これを以下のように利用する。 以下は、色の定数を利用した例だ。 let aColor = NSColor(named: NSColor.Name("MyColor")) 独自のColor Set assetを利用したコードの例 override func updateLayer() { self.layer?.backgroundColor = NSColor.textBackgroundColor.cgColor } 色の定数を利用