4

我想知道是否有一种方法可以将 iOS 设备上的“自动亮度”选项切换到关闭位置,如果有,它是什么?

4

5 回答 5

8

当您在应用程序内时可以调整亮度,并且它在 UIScreen 类中可用 -

这是文档 - http://developer.apple.com/library/ios/#documentation/uikit/reference/UIScreen_Class/Reference/UIScreen.html#//apple_ref/occ/instp/UIScreen/brightness

但是 Apple 的官方公共 API 不允许 iOS 应用程序访问设置应用程序中的常规设置。因此,您将无法更改设置应用程序内的切换按钮。

于 2013-02-08T23:09:03.343 回答
7

我不能与任何权威人士交谈(不能证明是否定的,等等),但这似乎不像 Apple 会让 3rd 方应用程序能够修改的设置。当然,Settings.app 会修改它,但这并不意味着有公共 API 可以做到这一点。由于这篇文章没有jailbreak标签,我将继续假设提问者正在询问公共 API。我会选择“你不能”。

于 2013-02-08T23:07:13.723 回答
1

Objective-C

[[UIScreen mainScreen] setBrightness:1.0];

是要走的路。是的,您可以以编程方式进行。只需传递 0.0 到 1.0 之间的值即可。根据苹果,它是有效的,你不会遇到任何问题。

斯威夫特 3+

UIScreen.main.brightness = CGFloat(1.0)

https://discussions.apple.com/thread/2009141?tstart=0

于 2014-08-08T06:22:57.830 回答
1

但是您可以定期检查亮度,并在您的应用程序运行时将其调整到您希望的亮度(如果您真的需要)。

于 2018-09-06T06:03:31.040 回答
0

根据希望的回答,对于那些希望在屏幕自动改变亮度时得到通知的人:

func trackBrightness() {   
    // Track brightness changes
    NotificationCenter.default.addObserver(self, selector: #selector(brightnessDidChange), name: UIScreen.brightnessDidChangeNotification, object: nil)
}
    
@objc func brightnessDidChange() {
    let newBrightness = UIScreen.main.brightness
    // Do something
}
于 2020-11-26T19:07:49.283 回答