iOS中类似微信红点显示功能
发布时间 - 2026-01-10 21:55:18 点击率:次设计思路:给UIView增加一个分类 所有的视图都可以根据需要来进行红点显示
#import <UIKit/UIKit.h>
@interface UIView (CHRRedDot)
@property (readonly, nonatomic) CALayer * chr_redDotLayer;
/**
红点圆心的位置,与各个边之间的距离。如果距离<=0,则忽略距离
*/
@property (nonatomic, assign) UIEdgeInsets chr_redDotEdgeInsets;
/**
红点的半径,默认为4
*/
@property (nonatomic, assign) CGFloat chr_redDotRadius;
/**
红点的颜色,默认为0xFF5A5A
*/
@property (nonatomic, strong) UIColor * chr_redDotColor;
/**
红点是否显示
*/
@property (nonatomic, assign) BOOL chr_redDotShow;
@end
#pragma mark - method
- (void)chr_updateRedDot {
CALayer *redDot = self.chr_redDotLayer;
if (self.chr_redDotShow) {
if (redDot == nil) {
redDot = [CALayer layer];
self.chr_redDotLayer = redDot;
[self.layer addSublayer:redDot];
}
redDot.backgroundColor = self.chr_redDotColor.CGColor;
[self chr_layoutRedDot];
} else {
[redDot removeFromSuperlayer];
self.chr_redDotLayer = nil;
}
}
- (void)chr_layoutRedDot {
CALayer *redDot = self.chr_redDotLayer;
if (redDot == nil) return;
CGFloat radius = self.chr_redDotRadius;
redDot.cornerRadius = radius;
UIEdgeInsets edgeInsets = self.chr_redDotEdgeInsets;
CGFloat originX = edgeInsets.right <= 0 ? edgeInsets.left - radius : self.bounds.size.width - edgeInsets.right + radius;
CGFloat originY = edgeInsets.bottom <= 0 ? edgeInsets.top - radius : self.bounds.size.height - edgeInsets.bottom + radius;
CGFloat length = radius * 2;
redDot.frame = CGRectMake(originX, originY, length, length);
}
以上所述是小编给大家介绍的iOS中类似微信红点显示功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# ios
# 微信红点显示
# IOS开发过程中的消息通知--小红点
# IOS设置QQ小红点消除的方法(一键退朝)
# iOS TabBarItem设置红点(未读消息)
# 小编
# 默认为
# 在此
# 给大家
# 可以根据
# 所述
# 给我留言
# 感谢大家
# 疑问请
# 有任何
# CGFloat
# chr_redDotRadius
# chr_redDotEdgeInsets
# chr_redDotLayer
# assign
# UIEdgeInsets
# BOOL
# chr_redDotShow
# pragma
# chr_redDotColor
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251811 】
【
AI营销90571 】
相关推荐:
Java类加载基本过程详细介绍
如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程
Laravel如何记录自定义日志?(Log频道配置)
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
如何在IIS中配置站点IP、端口及主机头?
Linux系统命令中tree命令详解
零基础网站服务器架设实战:轻量应用与域名解析配置指南
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
如何撰写建站申请书?关键要点有哪些?
Python文件异常处理策略_健壮性说明【指导】
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
html5的keygen标签为什么废弃_替代方案说明【解答】
Laravel中的withCount方法怎么高效统计关联模型数量
Python面向对象测试方法_mock解析【教程】
html文件怎么打开证书错误_https协议的html打开提示不安全【指南】
Laravel路由怎么定义_Laravel核心路由系统完全入门指南
html如何与html链接_实现多个HTML页面互相链接【互相】
JS经典正则表达式笔试题汇总
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何在万网自助建站中设置域名及备案?
linux写shell需要注意的问题(必看)
Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程
轻松掌握MySQL函数中的last_insert_id()
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
Laravel怎么调用外部API_Laravel Http Client客户端使用
Laravel观察者模式如何使用_Laravel Model Observer配置
Laravel如何处理异常和错误?(Handler示例)
浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】
韩国服务器如何优化跨境访问实现高效连接?
Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】
java中使用zxing批量生成二维码立牌
免费网站制作appp,免费制作app哪个平台好?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
Laravel如何实现数据库事务?(DB Facade示例)
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
潮流网站制作头像软件下载,适合母子的网名有哪些?
如何快速搭建虚拟主机网站?新手必看指南
Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制
HTML 中动态设置元素 name 属性的正确语法详解
b2c电商网站制作流程,b2c水平综合的电商平台?
EditPlus中的正则表达式 实战(2)
网站制作壁纸教程视频,电脑壁纸网站?
如何在IIS7上新建站点并设置安全权限?
中山网站制作网页,中山新生登记系统登记流程?
如何在七牛云存储上搭建网站并设置自定义域名?

