2012-01-20 9 views
16

मैं आईफोन एसडीके का उपयोग कर प्रोग्राम की स्क्रीन की चमक कैसे बदल सकता हूं?आईफोन: हम प्रोग्राम की दृष्टि से स्क्रीन की चमक कैसे बदल सकते हैं?

कृपया मुझे बताएं।

धन्यवाद!

+1

यह देखते हुए कि यह आधिकारिक एसडीके का हिस्सा है, मेरा सुझाव है कि आप अपने स्रोतों की जांच करें। http://developer.apple.com/library/IOs/#documentation/UIKit/Reference/UIScreen_Class/Reference/UIScreen.html –

उत्तर

43
[[UIScreen mainScreen] setBrightness: yourvalue]; 

आईओएस 5.0 या बाद में आवश्यक है। yourvalue 0.0 और 1.0 के बीच एक फ्लोट है।

+0

खुशी है कि मैं मदद कर सकता हूं। यदि आप यही चाहते हैं तो आप जवाब स्वीकार कर सकते हैं :) –

+0

क्या यह आपको ऐप स्टोर से बाहर नहीं निकाल पाएगा? –

+0

यह एक पूरी तरह से कानूनी एपीआई कॉल है। मुझे कोई कारण नहीं दिख रहा है कि इसके साथ कोई समस्या क्यों होनी चाहिए। –

1

यदि आप स्क्रीन की चमक बदलना चाहते हैं तो आप केवल आईओएस 5 या बाद में ओएस में बदल सकते हैं।

अपने आवेदन में कोड नीचे डालें।

[[UIScreen mainScreen] SetBrightness:1.0]; 

पूरी तरह से काम करने वाले कोड फ्लोट में मूल्य डालते हैं।

+11

उत्तर की प्रतिलिपि करते समय आपको वर्तनी की जांच करनी चाहिए। वर्तमान चमक का अनुरोध करने के लिए – Eiko

8

अद्यतन: स्विफ्ट 3

UIScreen.main.brightness = YourBrightnessValue 

के लिए यहाँ तेजी से जवाब इस

UIScreen.mainScreen().brightness = YourBrightnessValue 

YourBrightnessValue करने के लिए यहां मैं बदलाव के साथ कुछ समस्या थी 0.0 और 1.0

+0

: ब्रिलो दें: CGFloat = UIScreen.main.brightness –

0

के बीच एक नाव है दृश्य में स्क्रीन चमक DidLoad/viewWillDisappear तो मैंने एक एकल बना दिया एन कार्रवाई सभी कार्यों को संभालने के लिए। इस तरह मैं इसे करता हूं:

import Foundation 
import UIKit 

final class ScreenBrightnessHelper { 

    private var timer: Timer? 
    private var brightness: CGFloat? 
    private var isBrighteningScreen = false 
    private var isDarkeningScreen = false 

    private init() { } 

    static let shared = ScreenBrightnessHelper() 

    func brightenDisplay() { 
     resetTimer() 
     isBrighteningScreen = true 
     if #available(iOS 10.0, *), timer == nil { 
      brightness = UIScreen.main.brightness 
      timer = Timer.scheduledTimer(withTimeInterval: 0.01, repeats: true) { (timer) in 
       UIScreen.main.brightness = UIScreen.main.brightness + 0.01 
       if UIScreen.main.brightness > 0.99 || !self.isBrighteningScreen { 
        self.resetTimer() 
       } 
      } 
     } 
     timer?.fire() 
    } 

    func darkenDisplay() { 
     resetTimer() 
     isDarkeningScreen = true 
     guard let brightness = brightness else { 
      return 
     } 
     if #available(iOS 10.0, *), timer == nil { 
      timer = Timer.scheduledTimer(withTimeInterval: 0.01, repeats: true) { (timer) in 
       UIScreen.main.brightness = UIScreen.main.brightness - 0.01 

       if UIScreen.main.brightness < brightness || !self.isDarkeningScreen { 
        self.resetTimer() 
        self.brightness = nil 
       } 
      } 
      timer?.fire() 
     } 
    } 

    private func resetTimer() { 
     timer?.invalidate() 
     timer = nil 
     isBrighteningScreen = false 
     isDarkeningScreen = false 
    } 
} 
संबंधित मुद्दे