我可以检测 iPhone 是不是启用了模糊功能吗?

Posted

技术标签:

【中文标题】我可以检测 iPhone 是不是启用了模糊功能吗?【英文标题】:Can I detect if iPhone has blur enabled?我可以检测 iPhone 是否启用了模糊功能吗? 【发布时间】:2014-06-27 11:57:42 【问题描述】:

从 iPhone 4S 开始UIToolbar 模糊背景。但是,用户可以在“常规”>“辅助功能”>“增加对比度”>“降低透明度”下的“设置”中手动禁用模糊。

我能否以编程方式确定 iPhone 是否确实使用了模糊功能?

原因是我想调整背景和 barTintColor 以防模糊被禁用或不可用。

相关,对于“深色”设置,我找到了一个 hack 来检测它。我正在为模糊寻找类似的东西,因为我不知道有一个公共 API。

【问题讨论】:

让我在这里再次引用我的观点:辅助功能选项是为残疾人提供更好视野的一部分,他们可能有颜色- 失明、白内障或任何其他眼睛问题。即使颜色对您健康的眼睛来说看起来很奇怪,您也不能干涉它。在这种情况下,您不要对颜色进行任何调整。只关注你的常规设计,让 Apple 用他们认为对这些人来说最好的颜色调整来处理颜色。 Holex,我们都很感谢你们,但请记住:我们首先来这里学习有关编程和“如何做事”的知识。你怎么能说 Ortwin 没有“残疾人”(抱歉,我不知道这是否是英语中的正确术语)同事可以帮助他建立一种更有效的方式来向其用户呈现视图/颜色?你没有足够的信息来判断。此外,Apple 似乎不像你那样思考(幸运的是),因为他们在 ios 8.0 中添加了一个 API。问候 @holex,我再说一遍:我知道自己在做什么以及为什么要这样做。如果您不同意,请随时向ux.stackexchange.com 提出问题。让我们专注于回答这个问题,而不是辩论它。 @LombaX,Apple 有正确的政策,他们喜欢如何与自己的残疾客户打交道。 @OrtwinGentz,我不关心你,我关心的是那些你想关心的人,因为他们搞砸了标准的可访问性政策。你不是医生来决定哪种颜色/对比度对残疾人更好。这只是一个猜测,因为我从来没有问过苹果,但我们(包括你)可以确定苹果有更专业的团队来决定和制定算法,然后个人开发者应该如何重新考虑颜色,即使 他们认为他们知道自己在做什么。你对它的信心只是侵略性和高尚的行为......祝你好运。 【参考方案1】:

在 iOS 8 下可以检查用户的Reduce Transparency 设置:UIAccessibilityIsReduceTransparencyEnabled()

对于运行 iOS 7 的设备,iPhone 4、iPad 2 和 3 不支持模糊(我不能 100% 确定 iPad 2)。

【讨论】:

谢谢,我实际上忽略了该功能(显然,它还没有在文档中,仅在 API 差异中)。这至少是适用于 iOS 8 的解决方案。尽管希望有人提出适用于 iOS 7 的解决方案,但我将问题悬而未决。 另外,我刚刚验证了 iPad 2 不支持模糊。

以上是关于我可以检测 iPhone 是不是启用了模糊功能吗?的主要内容,如果未能解决你的问题,请参考以下文章

iPhone 中带有文本检测功能的增强现实引擎

如何检测iphone是不是还在?

iPhone中是不是启用了背景音频播放?

如何检查 iPhone 上是不是启用了通知

Iphone Sdk:是不是可以使用 UISwitch 来启用和禁用 PNS(推送通知服务)?

如何检测是不是启用了屏幕自动锁定