3

我是 iphone 编程的新手。我想问一下如何更改单视图(控制器)的屏幕亮度。我目前正在使用这个。

- (void) loadView
{
    [super loadView];

    userBrightness = [[UIScreen mainScreen] brightness];
    [[UIScreen mainScreen] setBrightness: 1.0];
}

- (void) viewDidUnload
{
    [super viewDidUnload];

    [[UIScreen mainScreen] setBrightness: userBrightness];
}

但我不能使用 'viewDidUnload' 方法,因为它已被弃用。当我切换到另一个视图或终止应用程序时,我不知道如何返回背光的先前值。谢谢

4

1 回答 1

2

在视图加载时更改亮度过于持久,即使您的视图不在屏幕上,亮度也不会恢复到正常水平。请记住,更改屏幕亮度的概念是一项全局操作,并且不知道它所更改的上下文(在您的情况下,当单个视图出现在屏幕上时申请)。我建议阅读有关视图生命周期细节的文档。

您可以考虑使用viewWillAppearand viewWillDisappear,它将提供您需要的粒度。

于 2013-02-16T15:51:53.610 回答