2011-11-21 16 views
19

Jak zaprogramować możliwość zmiany jasności w aplikacji? Wiem, że jest to możliwe, ponieważ widziałem co najmniej trzy aplikacje, które mogą to zrobić. Byłoby to bardzo przydatne dla mojej aplikacji. Wiem, że jest to możliwe tylko w iOS 5 z klasą UIScreen, ale nie mam pojęcia, jak ją zaprogramować. Proszę pomóż mi!Jak zmienić jasność w aplikacji iOS 5?

Odpowiedz

35

Klasa UIScreen ma nową property called brightness.

Ponadto, istnieje inna właściwość o nazwie wantsSoftwareDimming że (przy ustawieniu YES) pozwala przejść poniżej najniższej jasności obsługiwanych przez sprzęt, ponieważ specjalny „ściemnianie view” jest nałożony na ekranie, aby jeszcze bardziej przyciemnić rzeczy.

Właściwość brightness przenosi wartość z 0 na 1. Więc:

  • z wantsSoftwareDimming zestaw do NO (domyślnie), a brightness z 0 oznacza „najciemniejsze obsługuje sprzętowe” i brightness z 1 oznacza „najjaśniejsze obsługuje sprzętowe”.
  • z wantsSoftwareDimming zestaw do YES, A brightness z 0 oznacza „najciemniejsze wsporniki sprzętowe PLUS zaciemnienie przez nakładanie widok ściemniania”, a brightness z 1 nadal oznacza „najjaśniejsze wsporniki sprzętu”.
+0

Dzięki za informacje. Nie wiedziałem o opcji "wantsSoftwareDimming", ale bardzo pomaga mojej aplikacji! –

13

Nigdy nie próbowałem, ale patrząc na docs powinno iść tak:

UIScreen *mainScreen = [UIScreen mainScreen]; 
mainScreen.brightness = .5; //should set the brightness at 50% 
+0

Dziękujemy! właśnie tego potrzebowałem. –

1

Można użyć jednej z tych dwóch:

  1. [[UIScreen mainScreen]setBrightness:1.0];

  2. GSEventSetBacklightLevel(0.5f); Ale jest to prywatne wywołanie API, jeśli go używasz, aplikacja na pewno zostanie odrzucona.

Powiązane problemy