51 lines
1.7 KiB
Markdown
51 lines
1.7 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
|