我们有时后会遇到这样一个场景,当进入某一个界面的时候需要这个界面高亮显示,而其他界面则是正常的亮度。比如说,在使用支付宝收付款时,进入二维码展示界面时,页面会变高亮。

现在来看看具体的解决方案。

一. 首先 UIScreen 有一个属性 brightness 可以设置屏幕的亮度。值为 0 ~ 1之间,为1时亮度最高,0 时亮度最低。

二.我们需要定义几个宏,在pch文件或者其他文件中。

#define SystemBrightness    @"systemBrightness" //用于记录系统亮度#define Notification_SetBrightnessSystem  @"Notification_SetBrightnessSystem"   //设置屏幕为系统亮度的通知
#define Notification_SetBrightnessHighLight  @"Notification_SetBrightnessHighLight"   //设置屏幕高亮的通知

三. 我们需要高亮显示的那个页面 .m

#import "QRCodeController.h"
@interface QRCodeController ()
@end
@implementation QRCodeController- (void)dealloc
{//移除通知[[NSNotificationCenter defaultCenter] removeObserver:self];
}- (void)viewDidLoad {[super viewDidLoad];//首先记录下当前系统的屏幕亮度,保存到偏好设置[[NSUserDefaults standardUserDefaults] setFloat:[UIScreen mainScreen].brightness forKey:SystemBrightness];[[NSUserDefaults standardUserDefaults] synchronize];//添加设置屏幕亮度的两个通知,主要是为了解决应用间跳转,应用从此界面进入后台,或从后台直接进入此界面的一些问题[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(setBrightnessSystem) name:Notification_SetBrightnessSystem object:nil];[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(setBrightnessHighLight) name:Notification_SetBrightnessHighLight object:nil];
}- (void)viewDidAppear:(BOOL)animated
{[super viewDidAppear:animated];//在这个控制器出现的时候,将屏幕设置为高亮[self setBrightnessHighLight];
}- (void)viewWillDisappear:(BOOL)animated
{[super viewWillDisappear:animated];//在这个控制器将要消失的时候,将屏幕设置为原系统亮度[self setBrightnessSystem];
}//将屏幕设置为原系统亮度
- (void)setBrightnessSystem
{[UIScreen mainScreen].brightness = [[NSUserDefaults standardUserDefaults] floatForKey:SystemBrightness];
}
//将屏幕设置为高亮
- (void)setBrightnessHighLight
{//具体亮度可以根据自己的需求,自定义设置亮度值[UIScreen mainScreen].brightness = 1;
}

四. 在AppDelegate监听APP的状态,适时发出通知,更改屏幕亮度

//APP将要进入后台,跳转到其他应用,双击home键,下拉通知栏等情况下会调用
- (void)applicationWillResignActive:(UIApplication *)application
{//APP进入非活跃状态时设置发送设置屏幕为系统亮度通知[[NSNotificationCenter defaultCenter] postNotificationName:Notification_SetBrightnessSystem object:nil];
}- (void)applicationDidBecomeActive:(UIApplication *)application
{//APP进入活跃状态时发送设置屏幕高亮通知[[NSNotificationCenter defaultCenter] postNotificationName:Notification_SetBrightnessHighLight object:nil];
}

按这几步走,就完美解决了设置某一界面高亮的问题了。

如有问题,欢迎评论交流!

二维码展示界面高亮设置,仿支付宝收款码,付款码界面高亮实现相关推荐

  1. Lazada店铺如何设置使用 支付宝收款-图文教程

    #Lazada店铺# 如何设置使用 #支付宝收款# . 越来越多的中国卖家已经入驻马爸爸的东南亚电商平台Lazada.从最初的仅有P卡收款,后面引入WF,到最后蚂蚁金服并购HelloPay,Lazad ...

  2. 二维地图展示爆管分析

    作者:doremi 管线系统管理目前大多数都是使用三维客户端来实现的,爆管分析也是在三维客户端上展示的.但是最近有很多客户的来电询问如何在二维地图上实现管线的一些分析功能.因此,本文将介绍如何在二维地 ...

  3. Python数据分析实战-将一维列表和二维列表内容保存到本地excel文件(附源码和实现效果)

    前面我介绍了可视化的一些方法以及机器学习在预测方面的应用,分为分类问题(预测值是离散型)和回归问题(预测值是连续型).同时做了关于图像识别的系列文章,让读者理解python进行图像识别的过程.原理和方 ...

  4. 什么是二维数组?二维遍历?Java二维数组制作图片迷宫 使用如鹏游戏引擎制作窗口界面 附带压缩包下载,解压后双击start.bat启动...

    什么是二维数组? 数组当中放的还是数组 int [][] arr=new int[3][2]; 有3个小箱子,每个箱子2个格子. 看结果? int [][] arr=new int[3][2]; Sy ...

  5. 陌陌的动态列表mysql_根据SQL结果集构建动态二维列表展示在excel中

    Apache POI SpreadSheet的一些简单应用. 代码如下: import java.io.FileOutputStream; import java.sql.Connection; im ...

  6. android仿支付宝我的应用编辑界面,Android使用view仿支付宝月账单

    前言 昨夜同门云集推杯又换盏,今朝茶凉酒寒豪言成笑谈.半生累,尽徒然,碑文完美有谁看,隐居山水之间誓与浮名散. 简介 今天给大家带来的是支付宝的月账单view的实现,看到标题,你可能会觉得是自定义vi ...

  7. 码支付如何对接网站_支付宝当面付门店码如何做?

    政策简介:针对当面付的商家,支付宝推出商家数字化经营推广方案,该方案包含两个个政策:大促商家优惠券招商政策.门店码铺设政策,不同政策可获得不同的奖励. 政策奖励标准:(1)铺设奖励=有效门店码铺设数量 ...

  8. 支付宝,微信付款码正则表

    微信的条形码正则: ^1[0-5]\d{16}$ 支付宝的条形码正则: ^(?:2[5-9]|30)\d{14,22}$

  9. android仿支付宝收款播报,【iOS】实现类似支付宝收钱语音播报功能

    需求 1.实现类似支付宝收钱时语音播报 实现思路 1.集成极光推送 2.使用tts将金额播报出来(iOS10至iOS12) 3.收到推送后,处理金额,奖金额分割转换成一个个音频文件 4.将金额以本地推 ...

最新文章

  1. Extjs中createDelegate的作用
  2. CTFshow php特性 web133
  3. js 获得明天0点时间戳_Python 3+Django 3 结合Vue.js框架构建前后端分离Web开发平台实战...
  4. 阿里云西安ACE同城会 | 钉钉生态应用促进企业信息化实战沙龙
  5. 便携式三星mysql_JDBC链接mysql - 三星蓝
  6. python torch exp_学习Pytorch过程遇到的坑(持续更新中)
  7. vnc 字体设置_Xterm字体大小的设置
  8. mongodb系列之--mongodb 主从配置与说明
  9. 自己定义了个一类似UISegment的东西
  10. python模块的分类有哪些_整理了一份清单,常见Python问题的快速解答包
  11. asp.net天轰穿视频学习总结
  12. java实现消息推送_java实现后台服务器消息推送
  13. 计算机怎么发音乐,网易云音乐怎么分享音乐给别人的教程
  14. activeMQ安装问题wrapper | Launching a JVM... wrapper | Unable to execute Java command.
  15. oracle %date 0 10%,oracle database 10.2.0.5.0升级到10.2.0.5.22方法(for windows)
  16. 身份证号第18位(效验码)计算方法 用于检测身份证号是否正确
  17. 计算机专业的创意文案,高考借势广告文案又双叒叕来了,这些借势扎心了!
  18. leetcode笔记 844比较含退格的字符串 python
  19. c与c++的struct区别
  20. 文件IOday02--------时间编程与文件IO

热门文章

  1. 【Python爬虫实战】爬取2021中国大学排名(简单)
  2. Multimodal Sentiment Analysis论文汇总
  3. 鞘氨醇-1-磷酸的生物学作用
  4. 母亲节问候flash动画
  5. 前端 html 的使用手册
  6. java实现qq聊天室功能
  7. Compound学习(二) 简单部署
  8. ROHM | 面向高端ADAS开发出业界超稳定运行的DC-DC转换器IC“BD9S402MUF-C”
  9. 合肥工业大学机械(专硕)考研上岸经验分享
  10. C语言基础操作-位段