2013-02-06 3 views
4

문제는 내 독서 앱에 어두운 테마 모드로 만드는 버튼이 있다는 것입니다. 밝기가 10 % 감소합니다. 사용자가 일반 모드로 돌아 가면 기억 된 밝기로 다시 설정됩니다. 그러나 그동안 실제 밝기는 자동 밝기 조정 또는 사용자가 설정으로 이동하여 변경 한 경우 변경 될 수 있습니다.iOS가 화면 밝기를 변경하면 알림을 보내나요?

밝기 속성의 문제점은 사용자가 실제 화면 밝기를 쿼리하고 설정 한 것은 사용자가 화면을 잠글 때까지만 일시적이라는 것입니다. 잠금을 해제하면 시스템 밝기로 되돌아갑니다.

시스템이 밝기를 변경하면 iOS에서 알림을 보내면 도움이 될 것입니다. 문서에서이 항목을 찾을 수 없습니다.

답변

6

UIScreen 클래스의 일부인 UIScreenBrightnessDidChangeNotification을 검색하십시오. iOS 5.0 이상에서 사용할 수 있습니다.

3

장치가 다시 잠금 해제 될 때 밝기를 프로그램 값으로 다시 설정하려면 UIApplicationDidBecomeActiveNotification 알림을 확인하고 선택기에서 원하는 수준으로 밝기를 다시 설정하십시오.

내가 여기이 모든 밝기 일에 좀 더 연구를하고 한 내가 무엇을 발견 :

UIScreenBrightnessDidChangeNotification을 호출되는 시스템이 밝기를 변경하거나 경우에만 사용자가 제어판이나 설정에서 밝기를 변경하는 경우 . 프로그래밍 방식으로 밝기를 변경하면 안됩니다.

Apple Doc here (아래 참조)에서 가정 한 것은 밝기가 프로그래밍 방식으로 설정된 후에 더 이상 변경되지 않는다는 것입니다.

앱이 밝기를 변경하더라도 앱이 닫혔는지 여부와 관계없이 기기가 으로 잠길 때까지 적용됩니다. 시스템 밝기 (설정 또는 제어 센터에서 사용자가 설정할 수 있음)은 다음 번에 디스플레이가 켜질 때 으로 복원됩니다.

그러나 나는 이것이 사실이 아니라고 (또는 내가 오해하고 있음을) 알았습니다. 프로그래밍 방식으로 밝기를 설정하면 밝기가 변경됩니다 (및 UIScreenBrightnessDidChangeNotification가 호출됩니다). 그러나 시스템이 밝기를 증가 시키거나 감소시켜야한다고 생각할 때만 호출됩니다 (환경 밝기의 변화로 인해) *. 환경의 밝기가 동일하게 유지되면 화면을 프로그래밍 방식으로 설정할 때처럼 밝게 유지됩니다.

이것은 무엇을 의미합니까? 음, 2 일 :

  • 당신이 프로그래밍 방식으로 설정 수준에서 밝기를 유지하려는 경우, 아무리 환경이 변화, 당신은이 호출마다 UIScreenBrightnessDidChangeNotification를 관찰하고 원하는 수준으로 밝기를 재설정 할 필요가 없습니다.
  • "시스템"밝기로 돌아가고 싶다면 환경 변화가 발생할 경우 시스템 밝기가 무엇인지 알 수 없으므로 실제로는 불가능합니다 (매번 다시 설정하기 때문에) . 이에 대한 2 가지 옵션이 있습니다.
    1. 밝기를 프로그램 적으로 설정하고 다시 그 값으로 설정하기 전에 밝기를 기억하십시오. 또는
    2. 밝기를 0.5로 맞추고 시스템이 제대로 작동하도록하십시오.두 경우 모두에서

'위험' 은 당신이 환경의 밝기 변화가 감지 될 때까지 설정된 값에 머물 것입니다.

* 밝기를 0.0으로 설정하고 시스템이 밝기를 줄여야한다고 생각하면 특별한 경우가 있습니다. 이미 0.0에 있기 때문에 아무 일도 일어나지 않습니다. 두 번째로 1.0으로 설정하면 환경이 어떻게 변경 되더라도 1.0으로 유지됩니다.

+0

감사합니다. 세부 정보를 보내 주셔서 감사합니다. 귀하의 대답을 바탕으로, 우리는 작은 테스트 응용 프로그램을 구축하고 하나의 사소한 예외를 제외하고 우리가 동일한 결과 (iOS 9.3.2에서 iPad Air 2 및 12.9 인치 iPad Pro에서 테스트 됨)를 가졌는지 확인할 수 있습니다 : 밝기 최대 1.0으로 설정되었으므로 주변 광 레벨로 변경하는 동안 아무런 변화가 없었습니다 (어두운 실내에 배치해도 화면은 1.0으로 유지되고 그렇지 않은 경우 축소 될 수 없음). 자동 밝기 설정이 해제되고 다시 켜지거나 밝기가 수동으로 조정 된 후에 자동 밝기가 다시 작동하는 것으로 보입니다. – Becca

+0

탱크 베카. 나는 그에 맞게 나의 대답을 업데이트했다. – guido