2010-09-23 12 views

risposta

71

Modifica: iOS 5 ora include uno screen brightness API.

[[UIScreen mainScreen] setBrightness:0.5]; 

risposta precedente:

No, questa funzionalità non è esposta tramite API pubbliche.

Modifica: si noti che una futura possibile versione di iOS potrebbe o meno avere luminosità dello schermo sulla barra multitasking su un particolare iDevice.

+0

Mentre anch'io non posso dire che sia il caso o meno a causa di un certo accordo che ho in merito alla divulgazione di informazioni proprietarie ... è certamente il caso che le principali app di "lettori" di terze parti contengano cursori di luminosità. Quindi, indipendentemente dal fatto che sia esposto o meno, la gente lo sta facendo e sta viaggiando con i revisori dell'app store. –

+3

Stanno regolando i colori dello sfondo del testo, non la luminosità effettiva dello schermo. –

+0

Grazie per il suggerimento! – MatLecu

5

È possibile, ma molto probabilmente l'app verrà rifiutata dall'App Store, perché utilizza un'API privata. Un'app torcia è stata rifiutata perché ha regolato la luminosità dello schermo, quindi non la consiglierei.

In iOS 4.2, l'iPad avrà un luminosità dello schermo-regolatore nella multitasking-bar,

(come detto da @coob) così si potrebbe dire agli utenti di impostare la luminosità Là.


cosa si potrebbe fare, è quello di creare un nero overlay-view, e impostare è alfa più o meno, a seconda di come si vuole luminoso lo schermo di essere. Questo in realtà non renderà lo schermo meno luminoso, ma darà all'utilizzatore un'illusione.

+0

solo l'iPad o anche l'iPhone? – openfrog

+0

Sfortunatamente sull'iPad. – Emil

+1

NOTA: questa risposta è ora obsoleta; c'è un'API pubblica da iOS 5. – ToolmakerSteve

4

Ecco una risposta rapida a questa domanda.

import UIKit 
extension UIScreen 
{ 
    static func setMainBrightness(brightness: CGFloat) 
    { 
     guard (0...1).contains(brightness) else 
     { 
      print("Attempt to set the screen brightness to an invalid value: \(brightness) should be between 0 and 1 inclusive.") 
      return 
     } 
     self.main.brightness = brightness 
    } 
} 

chiamata esso utilizzando:

UIScreen.setMainBrightness(0.5) 

o ignorare la mia estensione (che ho appena scritto per illustrare i limiti) e basta chiamare:

UIScreen.main.brightness = 0.5 
+0

corrente (3.1) Swift: 'UIScreen.main.brightness = 1.0' – bshirley

Problemi correlati