NetNewsWire/Technotes/DarkMode.md
2018-07-21 13:11:20 -07:00

55 lines
1.6 KiB
Markdown

# Dark Mode - WWDC 2018
https://developer.apple.com/documentation/appkit/supporting_dark_mode_in_your_interface
https://developer.apple.com/videos/play/wwdc2018/210/
Accent colors
Can do preference for content — see Mail for example
linkColor — see if can use in web view
icons in sidebar should not be vibrant
Use opaque grayscale colors, not opacity, on top of vibrancy
Colors in asset catalogs
Specify for different appearances
High contrast colors
Dynamic system colors
Resolved at draw time
Pictures in asset catalogs
Template images
contentTintColor new API - NSImageView, NSButton
Render as template image thing in IB
controlAccentColor
color.withSystemEffect(.pressed)
Avoid nonsemantic materials
Semantic materials: popover, menu, sidebar, selection, titlebar, etc.
visualEffectView.material = .popover
Desktop tinted background: window background, underpage, content background
contentBackground default for collection views
Use NSAppearance to override inheritance
.aqua
.darkAqua
effectiveAppearance
Advanced Dark Mode:
https://developer.apple.com/videos/play/wwdc2018/218/
Build with 10.14 SDK
NSAppearanceCustomization
NSView, NSWindow conforms
NSWindow.appearanceSource
Configure NSBox to fill color to get desired material
visualEffectView.maskImage
Can do drawing handler images - for instance with a path
backgroundStyle on rows - .normal and .emphasized
Backward deployment…
Most system colors are available pre-Mo
Asset catalogs available on 10.13
Find hardcoded colors, use asset catalog colors
NSColor(named: "SomeColor")
Prefer block-based image drawing instead of lockFocus
Prefer NSTextField to drawing strings