当前位置: 首页 > news >正文

iOS开发 简单的自定义emoji表情键盘封装

1:其实很简单,就是利用瀑布流是想的一个keyboardview,当呼出键盘时替换为自定义的表情键盘。

OK,别的不说了,先来代码吧! 可以直接复制使用噢~当然里面有例如 SCREEN_WIDTH,是对屏幕大小的define 和 类似_DeleteBtn.lx_right的使用,这是对view的扩展。文章所包含的代码等,如果需要请到我的资源下载这篇文章的资源哦。代码就是这篇文章的代码。链接:https://download.csdn.net/download/lijianfei111/92456072?spm=1001.2014.3001.5503

一:首先是自定一键盘的 .h 文件

#import <UIKit/UIKit.h> NS_ASSUME_NONNULL_BEGIN @interface stickerKeyboardView : UIView<UICollectionViewDelegateFlowLayout,UICollectionViewDataSource> @property (nonatomic,strong) UICollectionView * StickerKB_CollecView; @property (nonatomic,assign) CGRect Or_frame; @property (nonatomic,strong) NSMutableArray * emojjArr; @property (nonatomic,strong) UIButton * DeleteBtn; @property (nonatomic,strong) UIButton * SendBtn; @property (nonatomic,strong) UIView * btnbackView; @property (nonatomic,copy) void(^PickemojjBlock)(NSString * emojjstr); @property (nonatomic,copy) void(^emoDeleteBlock)(void); @property (nonatomic,copy) void(^sendEmojjBlock)(void); @end

二:然后是 .m 文件中的代码,这里面内置了表情数组,如果你有其他的emoji表情,可进行增加或替换。

#import "stickerKeyboardView.h" @implementation stickerKeyboardView -(instancetype)initWithFrame:(CGRect)frame{ self = [super initWithFrame:frame]; if (self) { self.backgroundColor = [UIColor whiteColor]; self.emojjArr = [[NSMutableArray alloc]init]; self.Or_frame = frame; [self presetUI]; NSArray * emolis = @[ @{ @"char": @"😍" }, @{ @"char": @"😁" }, @{ @"char": @"😘" }, @{ @"char": @"🍎" }, @{ @"char": @"🍏" }, @{ @"char": @"🍊" }, @{ @"char": @"🍋" }, @{ @"char": @"😖" }, @{ @"char": @"😉" }, @{ @"char": @"😏" }, @{ @"char": @"🍒" }, @{ @"char": @"🍇" }, @{ @"char": @"🍉" }, @{ @"char": @"🍓" }, @{ @"char": @"🍑" }, @{ @"char": @"🍈" }, @{ @"char": @"🍌" }, @{ @"char": @"🍐" }, @{ @"char": @"🍍" }, @{ @"char": @"🍆" }, @{ @"char": @"🍅" }, @{ @"char": @"🍠" }, @{ @"char": @"🌽" }, @{ @"char": @"😳" }, @{ @"char": @"😡" }, @{ @"char": @"😓" }, @{ @"char": @"😭" }, @{ @"char": @"😱" }, @{ @"char": @"😜" }, @{ @"char": @"😰" }, @{ @"char": @"😢" }, @{ @"char": @"😚" }, @{ @"char": @"😄" }, @{ @"char": @"😀" }, @{ @"char": @"😪" }, @{ @"char": @"😣" }, @{ @"char": @"😔" }, @{ @"char": @"😠" }, @{ @"char": @"😌" }, @{ @"char": @"😝" }, @{ @"char": @"😂" }, @{ @"char": @"😥" }, @{ @"char": @"😞" }, @{ @"char": @"😒" },
http://www.cnnetsun.cn/news/32092.html

相关文章:

  • YimMenuV2:5大模块揭秘C++20模板编程的终极指南
  • 掌握建筑环境数据科学:Ladybug环境分析工具完全指南
  • 34、数据持久化:从简单序列化到关系序列化
  • 36、Python 命令行工具的高级用法与设计模式
  • Charticulator图表设计神器:3个核心技巧让数据会说话
  • ASMR下载神器使用指南:打造个人专属听觉空间
  • 零基础也能秒变提示词高手!LangGPT结构化模板实战指南
  • 终极Axure中文界面配置指南:快速实现完美汉化体验
  • 成本直降75%!ERNIE 4.5用2比特量化技术开启大模型普惠时代
  • 缓存策略实战进阶:架构师必知的性能优化指南
  • 3大实战场景揭秘:Perfetto TraceProcessor性能分析深度应用
  • AudioShare音频传输方案:实现PC到安卓设备的无线音频共享
  • fastText预训练模型实战指南:从入门到精通
  • UV-K5无线电固件定制完全手册:从新手到高手的终极指南
  • YouCompleteMe完全指南:解锁Vim智能编程新体验
  • Tekla自动标注调图插件:告别繁琐手动标注的智能解决方案
  • 终极指南:如何使用Optic实现API文档自动化和高效测试
  • BlenderMCP终极指南:5步让AI成为你的3D设计助手
  • 5、SUSE Linux Enterprise Server 10 安全配置与维护指南
  • 13、SUSE Linux企业版服务器10网络安全与防火墙设计指南
  • 8、Samba配置与认证全解析
  • 18、SUSE Linux Enterprise Server 10中Squid代理的安全配置与使用指南
  • 15、Samba使用、管理与故障排查全解析
  • 16、Samba服务器故障排查与优化全攻略
  • O-MVLL代码混淆实战:如何为移动应用构建坚不可摧的安全防线
  • SENAITE LIMS终极部署指南:实验室信息管理系统的完整安装教程
  • OBS Studio开发实战:数据目录路径管理的深度解析与最佳实践
  • TockOS嵌入式安全系统完整开发教程
  • MoneyPrinterTurbo:如何用AI一键生成专业级短视频?终极解决方案指南
  • Pyomo优化工具终极指南:Python优化建模快速上手