能否检测iPhone是否启用了模糊效果?

9
从 iPhone 4S 开始,UIToolbar会模糊背景。但是,用户可以在“设置”中的“通用 - 辅助功能 - 增强对比度 - 减少透明度”下手动禁用模糊效果。

我是否可以通过编程方式找出iPhone是否实际使用模糊效果?

原因是我想在禁用或不可用的情况下调整背景和barTintColor。

与此相关的是,“暗化颜色”设置,我发现了一个技巧来检测它。我正在寻找类似的东西来调整模糊效果,因为我不知道有公共API可以使用。


2
让我再次引用我的观点:无障碍选项 是为了呈现更好的视图,以便于残疾人,他们可能有色盲、白内障或其他眼部问题。即使颜色对您的健康眼睛看起来很奇怪,您也不能干涉它。在这种情况下,您不应该调整任何颜色。只需专注于您的常规设计,让苹果公司根据他们认为最适合这些人的最佳颜色调整来处理颜色即可。 - holex
1
Holex,我们非常感谢您的评论,但是请记住:我们首先在这里学习编程和“如何做事情”。你怎么能说Ortwin没有一个“残疾”(抱歉,我不知道这是否是正确的英文术语)的同事可以帮助他构建一种更有效的方式来向用户展示视图/颜色?您没有足够的信息来判断。此外,显然苹果不像你那样想(幸好),因为他们在iOS 8.0中添加了一个API。问候。 - LombaX
@holex,我再重复一遍:我知道自己在做什么以及为什么要这样做。如果你不同意,可以随时在http://ux.stackexchange.com上提出问题。让我们专注于回答问题,而不是争论它。 - Ortwin Gentz
@LombaX,苹果公司有正确的政策来处理他们自己的残障客户。 - holex
@OrtwinGentz,我不关心你,我关心那些你想要照顾的人,而不会搞乱标准的无障碍政策。你不是医生,不能决定哪种颜色/对比度对残疾人更好。这只是一个猜测,因为我从未向苹果询问过,但我们(包括你)可以确定苹果有更专业的团队来决定和制定算法,如何重新设计颜色,即使个别开发人员认为他们知道自己在做什么。你对此的信心只是咄咄逼人和傲慢的行为......祝你好运。 - holex
1个回答

11

可以使用UIAccessibilityIsReduceTransparencyEnabled()方法来检查iOS 8下用户的减少透明度设置。

至于运行iOS 7的设备, 在iPhone 4、iPad2和3上不支持模糊效果(我对iPad 2不是100%确定)。


谢谢,我实际上忽略了那个函数(显然,它还没有在文档中,只在API diff中)。这至少是iOS 8的一个解决方案。不过我仍然保持问题开放,希望有人能提出iOS 7的解决方案。 - Ortwin Gentz
1
另外,我刚刚验证了模糊效果在iPad 2上不受支持。 - Ortwin Gentz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接