如何更改单个视图的亮度

时间:2013-02-16 15:49:49

标签: objective-c cocoa-touch

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

- (void) loadView
{
    [super loadView];

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

- (void) viewDidUnload
{
    [super viewDidUnload];

    [[UIScreen mainScreen] setBrightness: userBrightness];
}

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

1 个答案:

答案 0 :(得分:1)

当视图加载时更改亮度太持久,即使您的视图在屏幕外,亮度也不会变回正常水平。请记住,更改屏幕亮度的概念是一个全局操作,并且不知道它已更改的上下文(在您的情况下,申请单个视图在屏幕上时)。我建议您阅读particulars of the view lifecycle上的文档。

您可以考虑使用viewWillAppearviewWillDisappear,这将提供您需要的粒度。