IOS 仿支付寶支付屏幕亮度變化機制
1.首先,在需要實現(xiàn)的界面viewDidLoad中先保存亮度沒有變化之前的亮度,因為這個界面消失之后還要變回原來的亮度,變化亮度也相當于用戶的一種設置,所以也要保存一下這個狀態(tài),因為之后當APP在active和非active切換時候需要知道是否需要為用戶做這個功能
// 保存原來的亮度 [[NSUserDefaults standardUserDefaults] setObject:@([UIScreen mainScreen].brightness) forKey:@"brightness"]; // 保存狀態(tài),需要為用戶變化屏幕亮度功能 [[NSUserDefaults standardUserDefaults] setObject:@YES forKey:@"ifNeedChangeLight"];
2.在viewDidAppear中設置需要的亮度
- (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到主界面需要進行恢復和設置相應操作
- (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.如果需要亮度漸變效果網上有實現(xiàn)的函數,設置亮度直接調函數就可以了
以上所述是小編給大家介紹的IOS 仿支付寶支付屏幕亮度變化機制,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
相關文章
iOS開發(fā)之tableView點擊下拉擴展與內嵌collectionView上傳圖片效果
這篇文章主要介紹了iOS開發(fā)之tableView點擊下拉擴展與內嵌collectionView上傳圖片效果的相關資料,需要的朋友可以參考下2016-04-04IOS UITableView和UITableViewCell的幾種樣式詳細介紹
這篇文章主要介紹了IOS UITableView和UITableViewCell的幾種樣式詳細介紹的相關資料,需要的朋友可以參考下2016-12-12詳解iOS 用于解決循環(huán)引用的block timer
這篇文章主要介紹了詳解iOS 用于解決循環(huán)引用的block timer,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12