IOS 仿支付寶支付屏幕亮度變化機(jī)制
1.首先,在需要實(shí)現(xiàn)的界面viewDidLoad中先保存亮度沒有變化之前的亮度,因?yàn)檫@個(gè)界面消失之后還要變回原來的亮度,變化亮度也相當(dāng)于用戶的一種設(shè)置,所以也要保存一下這個(gè)狀態(tài),因?yàn)橹螽?dāng)APP在active和非active切換時(shí)候需要知道是否需要為用戶做這個(gè)功能
// 保存原來的亮度 [[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.當(dāng)從底部滑起操作欄和退出app到主界面需要進(jìn)行恢復(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)上有實(shí)現(xiàn)的函數(shù),設(shè)置亮度直接調(diào)函數(shù)就可以了
以上所述是小編給大家介紹的IOS 仿支付寶支付屏幕亮度變化機(jī)制,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
IOS程序開發(fā)之禁止輸入表情符號(hào)實(shí)例代碼
如何禁止輸入表情符號(hào)呢?下面腳本之家小編給大家分享IOS程序開發(fā)之禁止輸入表情符號(hào)實(shí)例代碼,感興趣的朋友參考下吧2016-04-04
iOS應(yīng)用進(jìn)入后臺(tái)后計(jì)時(shí)器和位置更新停止問題的解決辦法
這篇文章主要介紹了iOS應(yīng)用進(jìn)入后臺(tái)后計(jì)時(shí)器和位置更新停止問題的解決辦法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03
分析IOS RunLoop的事件循環(huán)機(jī)制
RunLoop是與線程相關(guān)的基礎(chǔ)架構(gòu)中的一部分,它是一個(gè)處理事件的循環(huán)(線程進(jìn)入這個(gè)循環(huán),運(yùn)行事件處理程序來響應(yīng)傳入的事件),RunLoop的目的是當(dāng)有事件需要處理時(shí),線程是活躍的、忙碌的,當(dāng)沒有事件后,線程進(jìn)入休眠。2021-06-06
iOS應(yīng)用中UICollectionViewCell定制Button
這篇文章主要介紹了iOS應(yīng)用中UICollectionViewCell如何定制Button,設(shè)置每行顯示的按鈕的個(gè)數(shù),自定制按鈕的顯示樣式,感興趣的小伙伴們可以參考一下2016-08-08
IOS 調(diào)整內(nèi)存中的圖片大小實(shí)例詳解
這篇文章主要介紹了IOS 調(diào)整內(nèi)存中的圖片大小實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-04-04
總結(jié)iOS實(shí)現(xiàn)漸變顏色的三種方法
這篇文章主要給大家總結(jié)了iOS實(shí)現(xiàn)漸變顏色的三種方法,分別是利用CAGradientLayer實(shí)現(xiàn)漸變、Core Graphics相關(guān)方法實(shí)現(xiàn)漸變以及用CAShapeLayer作為layer的mask屬性實(shí)現(xiàn),大家可以根據(jù)自己的需要選擇使用,下面來一起看看吧。2016-10-10

