news 2026/6/10 15:32:17

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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": @"😒" },
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:49:24

vue基于 javaweb 的自习室座位管理系统_61sk80v5_pycharm flask django

目录已开发项目效果实现截图开发技术系统开发工具&#xff1a;核心代码参考示例1.建立用户稀疏矩阵&#xff0c;用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度系统测试总结源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&…

作者头像 李华
网站建设 2026/6/9 15:05:55

Web Audio API 完整入门指南:从零开始掌握浏览器音频编程

Web Audio API 完整入门指南&#xff1a;从零开始掌握浏览器音频编程 【免费下载链接】web-audio-api The Web Audio API v1.0, developed by the W3C Audio WG 项目地址: https://gitcode.com/gh_mirrors/we/web-audio-api Web Audio API 是现代 Web 开发中处理音频的终…

作者头像 李华
网站建设 2026/6/10 10:33:40

Rust包管理器Cargo完全掌握:8个实战技巧提升开发效率

Rust包管理器Cargo完全掌握&#xff1a;8个实战技巧提升开发效率 【免费下载链接】cargo The Rust package manager 项目地址: https://gitcode.com/gh_mirrors/car/cargo Cargo是Rust编程语言的官方包管理工具&#xff0c;它不仅仅是一个简单的依赖管理器&#xff0c;更…

作者头像 李华
网站建设 2026/6/10 13:54:05

Bananas屏幕共享工具:3分钟快速上手指南

想要实现跨平台屏幕共享却担心操作复杂&#xff1f;Bananas屏幕共享工具为您提供终极解决方案&#xff01;这款基于P2P技术的开源工具让屏幕共享变得简单快捷&#xff0c;无需注册即可直接使用。无论您是需要远程协作编程、在线会议演示&#xff0c;还是简单的屏幕分享&#xf…

作者头像 李华
网站建设 2026/6/9 21:38:11

从零开始参与开源贡献:代码提交全流程实战指南

从零开始参与开源贡献&#xff1a;代码提交全流程实战指南 【免费下载链接】Qwen3-Next-80B-A3B-Instruct-bnb-4bit 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/Qwen3-Next-80B-A3B-Instruct-bnb-4bit 想要为开源项目贡献代码却不知从何入手&#xff1f;本文…

作者头像 李华