使用这个非常简单的类,您可以快速了解色盲用户在使用您的应用时会经历什么。这是通过实时转换应用的颜色和敏锐度来实现的。
您可以从该存储库中下载包含的演示应用或观看以下视频。
ALDColorBlindEffect
模拟了给定 UIView
如何为最常见的色盲类型和不同视觉敏锐度程度的用户体验。要开始,您只需设置 [ALDColorBlindEffect sharedInstance]
的 view
属性。
如果您想模拟整个应用中的色盲,只需将一行代码添加到您的 application:didFinishLaunchingWithOptions
方法中,如下所示
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[ALDColorBlindEffect sharedInstance].view = self.window;
return YES;
}
要查看您的应用对色盲用户的外观,您可以将 type
属性设置为以下任何一种效果:
ALDColorBlindEffectTypeNone
ALDColorBlindEffectTypeProtanopia
ALDColorBlindEffectTypeDeuteranopia
ALDColorBlindEffectTypeTritanopia
ALDColorBlindEffectTypeRodMonochromacy
ALDColorBlindEffectTypeConeMonochromacyLRed
ALDColorBlindEffectTypeConeMonochromacyMGreen
ALDColorBlindEffectTypeConeMonochromacySBlue
ALDColorBlindEffectTypeDog
例如,为了模拟红绿色盲(Deuteranopia),您需要添加以下代码行
[ALDColorBlindEffect sharedInstance].type = ALDColorBlindEffectTypeDeuteranopia;
除了改变应用的颜色外,您可能还希望模拟不同视觉敏锐度用户的使用体验。这可以从轻微的模糊视力到完全失去视线。要模拟这一点,将 blurAmount
属性设置为介于 0(即没有模糊)和 1(完全模糊)之间的任何值。例如,为了获得微量的模糊,您需要添加以下代码行
[ALDColorBlindEffect sharedInstance].blurAmount = 0.03;
如果您发现在模拟色盲期间性能受到影响,可以将效果的质量降低,方法是将 quality
属性设置为以下任何一个值
ALDColorBlindEffectQualityLow,
ALDColorBlindEffectQualityMedium,
ALDColorBlindEffectQualityHigh
默认为 ALDColorBlindEffectQualityMedium
。
此视频演示了如何使用 Settings.bundle 将此类集成到您的项目中。
注意,当模糊足够高时,测试者将被 强制 使用其他方式(例如 VoiceOver)在应用中进行导航。