若要改變裝置螢幕的亮度,可以使用 UIScreen 所提供的 setBrightness: 方法來做設定,而且這個設定是全域的,意思就是當你在應用程式中將畫面亮度調暗,畫面亮度並不會因為離開或是結束應用程式而恢復原先的設定值。(上圖的畫面有經過繪圖軟體修正過,因為畫面的 Snapshot 並不會隨著亮度的改變而有所不同)
下列程式碼在將演示如何透過 UISlider 來改變畫面亮度。
//改變Slider數值時所觸發的函式(Value Changed)
- (IBAction)setBrightness:(id)sender {
//取得Silder的值
float b = brightnessSlider.value;
//設定螢幕亮度0~1
[[UIScreen mainScreen] setBrightness:b];
}
上述程式碼我們將 Slider 的值控制在 0.0~1.0 之間,並透過此參數值來設定螢幕的亮度。
PS:這邊有一個小 Bug,透過此方式設定的畫面亮度並不會反應在該裝置設定項目中畫面亮度設定的 Slider 上,就最造成裝置後台的亮度設定並不是目前的畫面亮度,另外在模擬器上也不適用此方式。
沒有留言:
張貼留言