news 2026/5/1 0:11:15

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/5/1 4:42:22

ClearerVoice-Studio:AI语音处理新体验,轻松打造清晰音频世界

ClearerVoice-Studio&#xff1a;AI语音处理新体验&#xff0c;轻松打造清晰音频世界 【免费下载链接】ClearerVoice-Studio An AI-Powered Speech Processing Toolkit and Open Source SOTA Pretrained Models, Supporting Speech Enhancement, Separation, and Target Speake…

作者头像 李华
网站建设 2026/5/1 4:42:49

23、使用SSH密钥、NFS挂载源目录和跨平台Python管理系统

使用SSH密钥、NFS挂载源目录和跨平台Python管理系统 在管理多样化的 *nix 机器基础设施时,我们可以结合使用 SSH 密钥、共享的 NFS 挂载源目录以及跨平台的 Python 代码。以下是具体步骤: 步骤1:创建公共 SSH 密钥 在用于管理机器的系统上创建公共 SSH 密钥。不同平台的操…

作者头像 李华
网站建设 2026/5/1 4:43:16

25、技术探索:从数据查询到包管理

技术探索:从数据查询到包管理 在软件开发和系统管理的领域中,数据查询、服务器管理以及包管理都是至关重要的环节。下面将详细介绍相关的技术和操作方法。 数据查询与路由 首先来看一段数据查询的代码: collection = [] #grab last 10 records from datastore query = …

作者头像 李华
网站建设 2026/5/1 4:43:02

RS485/232串口调试助手终极解决方案

RS485/232串口调试助手终极解决方案 【免费下载链接】RS485232串口调试助手 本仓库提供了一个名为“RS485/232串口调试助手.zip”的资源文件下载。该文件是一个串口调试工具&#xff0c;适用于RS485和RS232串口设备的调试和测试。 项目地址: https://gitcode.com/open-source…

作者头像 李华
网站建设 2026/5/1 4:43:13

32、基于 Django 的 Web 应用开发实践

基于 Django 的 Web 应用开发实践 1. 网络应用的优势 如今,网络上充斥着大量人们日常依赖的应用程序。网络应用之所以如此普及,主要得益于以下几个显著优势: - 普遍可访问性 :一旦网络应用部署完成,任何有权限访问的用户只需在浏览器中输入相应的 URL 即可使用,无需…

作者头像 李华
网站建设 2026/5/1 4:43:36

终极解决方案:快速修复GyroFlow视频稳定软件插件安装权限问题

终极解决方案&#xff1a;快速修复GyroFlow视频稳定软件插件安装权限问题 【免费下载链接】gyroflow Video stabilization using gyroscope data 项目地址: https://gitcode.com/GitHub_Trending/gy/gyroflow 技术问题解决是每个视频创作者在使用专业软件时都会遇到的挑…

作者头像 李华