IOS 仿支付寶支付屏幕亮度變化機制
1.首先,在需要實現(xiàn)的界面viewDidLoad中先保存亮度沒有變化之前的亮度,因為這個界面消失之后還要變回原來的亮度,變化亮度也相當于用戶的一種設(shè)置,所以也要保存一下這個狀態(tài),因為之后當APP在active和非active切換時候需要知道是否需要為用戶做這個功能
// 保存原來的亮度 [[NSUserDefaults standardUserDefaults] setObject:@([UIScreen mainScreen].brightness) forKey:@"brightness"]; // 保存狀態(tài),需要為用戶變化屏幕亮度功能 [[NSUserDefaults standardUserDefaults] setObject:@YES forKey:@"ifNeedChangeLight"];
2.在viewDidAppear中設(shè)置需要的亮度
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
if ([UIScreen mainScreen].brightness < 0.8) {
[UIScreen mainScreen].brightness = 0.8;
}
}
3.同理viewDidDisappear
- (void):(BOOL)animated
{
[super viewDidDisappear:animated];
// 還原
[UIScreen mainScreen].brightness = [[[NSUserDefaults standardUserDefaults] objectForKey:@"brightness"] floatValue];
[[NSUserDefaults standardUserDefaults] setObject:@NO forKey:@"ifNeedChangeLight"];
}
4.當從底部滑起操作欄和退出app到主界面需要進行恢復(fù)和設(shè)置相應(yīng)操作
- (void)applicationWillResignActive:(UIApplication *)application {
if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"ifNeedChangeLight"] boolValue]) {
[UIScreen mainScreen].brightness = [[[NSUserDefaults standardUserDefaults] objectForKey:@"brightness"] floatValue];
}
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"ifNeedChangeLight"] boolValue]) {
if ([UIScreen mainScreen].brightness < 0.8) {
// 顏色需要漸變的話需要另外再寫
[UIScreen mainScreen].brightness = 0.8;
}
}
}
5.如果需要亮度漸變效果網(wǎng)上有實現(xiàn)的函數(shù),設(shè)置亮度直接調(diào)函數(shù)就可以了
以上所述是小編給大家介紹的IOS 仿支付寶支付屏幕亮度變化機制,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
iOS應(yīng)用進入后臺后計時器和位置更新停止問題的解決辦法
這篇文章主要介紹了iOS應(yīng)用進入后臺后計時器和位置更新停止問題的解決辦法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-03-03
iOS應(yīng)用中UICollectionViewCell定制Button
這篇文章主要介紹了iOS應(yīng)用中UICollectionViewCell如何定制Button,設(shè)置每行顯示的按鈕的個數(shù),自定制按鈕的顯示樣式,感興趣的小伙伴們可以參考一下2016-08-08

