2013-02-16 2 views
2

나는 아이폰 용 프로그래밍의 초보자입니다. 단일보기 (컨트롤러)의 화면 밝기를 변경하는 방법을 묻습니다. 나는 이것을 현재 사용하고있다.단일보기의 밝기를 변경하는 방법

- (void) loadView 
{ 
    [super loadView]; 

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

- (void) viewDidUnload 
{ 
    [super viewDidUnload]; 

    [[UIScreen mainScreen] setBrightness: userBrightness]; 
} 

그러나 'viewDidUnload'메서드는 사용할 수 없으므로 대신 사용할 수 없습니다. 다른보기로 전환하거나 앱을 종료 할 때 이전 백라이트 값을 반환하는 방법을 모르겠습니다. 감사합니다.

답변

1

보기가로드 될 때 밝기가 변경되면보기가 화면 밖에 있어도 밝기가 다시 정상 수준으로 변경되지 않습니다. 화면 밝기를 변경하는 개념은 전역 작업이며 변경된 컨텍스트를 인식하지 못합니다 (사용자의 경우 단일 화면이 화면에 나타날 때 적용). particulars of the view lifecycle에있는 설명서를 읽는 것이 좋습니다.

viewWillAppearviewWillDisappear을 사용하면 필요한 세밀도를 제공 할 수 있습니다.

+0

감사합니다. 나는'loadView'와'viewDidUnload' 대신에'viewWillAppear'와'viewWillDisappear' 메소드를 사용하려고했지만 앱을 숨기거나 종료하면 작동하지 않습니다. – user1518183

+0

이 경우 앱을 숨기거나 취소하고 포커스를 다시받을 때 알림을 모니터링하는보기 컨트롤러가 필요합니다. 이는보기 컨트롤러가 사라지고 나타나는 것처럼 작동합니다. 'NSNotificationCenter'를 사용하여'UIApplicationWillResignActiveNotification'과'UIApplicationDidBecomeActiveNotification' 알림을 구독하십시오. – WDUK

+0

나는 이해한다고 생각합니다. 고맙습니다. – user1518183

관련 문제