【问题标题】:Can i implement brightness feature like apple wallet app?我可以实现像苹果钱包应用这样的亮度功能吗?
【发布时间】:2016-06-23 08:18:18
【问题描述】:

当应用程序处于前台时,Apple 钱包会设置全亮度。当应用程序进入后台或终止时,它将重置为正常亮度。

我想在我的应用中实现相同的功能。

我尝试使用[[UIScreen mainScreen] setBrightness:1.0]; 应用程序所做的亮度更改在设备锁定之前一直有效。

如果我的应用处于前台模式,我想设置全亮度,否则亮度将重置为之前的亮度级别。

【问题讨论】:

  • 我看不出你有什么问题。您能否更详细地描述您的问题?
  • 检查我更新问题,你也可以检查钱包应用程序。它已经有这个功能了。
  • 我想我明白了,您希望在关闭应用时重置亮度,这不是当前的行为。

标签: ios objective-c xcode wallet


【解决方案1】:

这一切最终都不起作用,请参阅编辑

如果您在打开应用时设置高亮度,然后在存在时恢复以前的亮度,您可以在AppDelegate 中执行以下操作:

添加CGFloat previousBrightness

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
    previousBrightness = [[UIScreen mainScreen] brightness];

    [[UIScreen mainScreen] setBrightness:1.0];

    return YES;
}

- (void)applicationDidEnterBackground:(UIApplication *)application {
    [[UIScreen mainScreen] setBrightness:previousBrightness];
}

编辑:

经过一番研究,我发现iOS 中实际上存在一个错误,会阻止您在退出应用后更改亮度。从 iOS 4 开始就报告了该错误,并且在我在 iOS 8 上尝试时似乎没有得到解决,但仍然无法正常工作...

请参阅this thread on Apple Dev Forum 了解有关该错误的更多信息。

您唯一能做的就是为您需要的单个步骤设置全亮度,并在用户不再需要时重置。例如,在许多应用程序中,我们在查看 QR-Code 时具有全亮度,然后在单击十字“X”退出时恢复到以前的亮度。

您可能需要在某些方面重新考虑您的应用,但您将无法在用户单击主页按钮后恢复亮度。

【讨论】:

  • 正在写这个答案:)
  • 我在发布问题之前已经尝试过了。当应用程序进入后台时它不起作用。是的,它在应用程序终止时起作用。
  • 尝试后我惊讶地发现这不起作用,请查看我的编辑。
  • @AnthoninC。我也花了几个小时但没有得到适当的解决方案。你检查过钱包应用程序吗?我想要的它完美无缺。甚至当钱包应用程序设置全亮度时,系统亮度没有改变,您可以在钱包应用程序处于前台时检查控制中心。其中setBrightness 更改系统亮度。
  • @Shreyank 也许有一种(未记录的)方法允许仅在应用程序内更改亮度。但它可能仅限于 Apple 应用程序......
猜你喜欢
  • 2015-07-30
  • 1970-01-01
  • 2010-09-22
  • 2014-09-04
  • 1970-01-01
  • 2021-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多