DynamicColorIOS
DynamicColorIOS
函数是特定于 iOS 的平台颜色类型。
DynamicColorIOS({
light: color,
dark: color,
highContrastLight: color, // (optional) will fallback to "light" if not provided
highContrastDark: color, // (optional) will fallback to "dark" if not provided
});
DynamicColorIOS
接受一个对象作为参数,该对象包含两个必填键:dark
和 light
,以及两个可选键 highContrastLight
和 highContrastDark
。这些对应于您想要在 iOS 的“浅色模式”和“深色模式”下使用的颜色,以及在启用高对比度辅助功能模式时的高对比度版本。
在运行时,系统将根据当前的系统外观和辅助功能设置选择要显示的颜色。动态颜色对于品牌颜色或其他仍会自动响应系统设置更改的应用程序特定颜色很有用。
开发者笔记
- iOS
- Web
如果您熟悉 CSS 中的
@media (prefers-color-scheme: dark)
,这与此类似!只是您无需在媒体查询中定义所有颜色,而是在使用颜色的地方直接定义在什么情况下使用什么颜色。很方便吧!
DynamicColorIOS
函数类似于 iOS 原生方法UIColor colorWithDynamicProvider:
示例
import {DynamicColorIOS} from 'react-native';
const customDynamicTextColor = DynamicColorIOS({
dark: 'lightskyblue',
light: 'midnightblue',
});
const customContrastDynamicTextColor = DynamicColorIOS({
dark: 'darkgray',
light: 'lightgray',
highContrastDark: 'black',
highContrastLight: 'white',
});