iOS开发:消息中心(广播通知)

本文介绍如何使用消息中心机制实现iOS应用中的夜间模式切换。通过在基类中注册消息中心并监听模式变化,确保各页面能统一响应设置变更。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

*********************         iOS开发:消息中心          *******************

实现要求:用消息中心控制夜间模式

分析:首先要在每一页中注册一个消息中心,然后再最后一页(设置)定义一个switch(开关)。利用开关来控制向消息中心发送通知。然后返回来再每个页面接收消息中心发出的通知进行相应的改变。

进一步分析:在设置页面,当消息中心发出通知的同时,对此时的模式(夜间模式/自然模式)进行本地存储;

提升:消息中心的注册可以写成单例形式,但还是需要每个页面都得判断接收的通知是什么?

精华:写一个基类BaseViewController,继承与UIViewController,然后其他的viewcontroller都继承与BaseViewController,只需要在BaseViewController里面写一个消息中心的注册(改变颜色)和接收通知后做出相应改变(夜间模式/自然模式);

具体实现:

1.在基类的.m文件中,注册、接收通知(修改背景颜色和透明度)等


*viewWillAppear方法是本地存储的判断,如果说不进行本地存储,且每次进入一个界面时判断本地存储的是夜间模式还是自然模式,把界面返回到第一页,在回来的时候就不起作用的,因为此时的界面又是一个一个推出来的新的界面。

2、在设置页面:


*发送的通知是一个字典:接收的时候通过key 值获取value值。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值