为什么 Emoji 无法在 UITextField 中正确显示?

2023-12-06

当使用以下代码设置表情符号字符时:

self.textField.text = @"\ue415";

它只是显示为正方形。但是当我从键盘输入表情符号时,它会正确显示。有什么问题?

PS:我使用的是IOS 5.1

Text View with Emoji Characters


在旧版本的 iOS 中,表情符号字符全部位于 Unicode 专用区域中,顾名思义,这是一组明确没有任何关联字符的 Unicode 代码点。然而,Unicode 标准已经更新,包含了大量的表情符号字符,因此 iOS 现在使用这些字符,Mac OS X 也是如此。

您可以在 www.unicode.org/charts 的代码图表中查看所有 Unicode 表情符号的列表,例如http://www.unicode.org/charts/PDF/U1F600.pdf这些还告诉您每个表情符号实际上代表什么。

所有 Unicode 表情符号都不在 Unicode 规范的基本多语言平面中,这意味着它们太大,无法放入单个 iOS unichar 中。因此,当它们存储在 NSString 中时,每个表情符号将覆盖多个 unichars——如果您尝试迭代字符串中的字符,则需要注意这一点。

如果你有类似的代码

NSString *emoji =@"\U0001F604";
NSString *ascii = @"A";
NSLog(@"emoji.length %d, ascii.length %d", emoji.length, ascii.length);

你会在输出中看到这一点

2013-03-08 14:42:22.841 test[23980:c07] emoji.length 2, ascii.length 1

其中单个????张开嘴微笑的脸和微笑的眼睛表情符号有两个unichars长,而不是我们想象的那样。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Emoji 无法在 UITextField 中正确显示? 的相关文章

  • 如何将 .ipa 转换为 .app 文件?

    每个人 我有一些 ipa 文件 想要转换为包含 app 包的存档文件 我试图这样做 但我没有办法 有什么办法可以做到这一点吗 请帮我 将 ipa 重命名为 zip 然后提取即可
  • UICollectionView 设置列数

    我刚刚开始学习 UICollectionViews 我想知道是否有人知道如何指定集合视图中的列数 默认设置为 3 iPhone 肖像 我查看了文档 似乎找不到简洁的答案 对于 Swift 5 和 iOS 12 3 您可以使用4 以下实现为了
  • iOS FacebookSDK + 解析 SDK + GoogleMaps SDK

    我搜索了很多 然后我意识到 ObjC标记那个GoogleMapSDK需要 但不能很好地配合ParseSDK and FacebookSDK 所以我阅读了所有的 stackoverflow 答案并尝试解决我的问题 问题还没有解决 我执行的步骤
  • iOS 确定视频中的帧数

    如果我有一个 Swift 中的 MPMoviePlayerController MPMoviePlayerController mp MPMoviePlayerController contentURL url 有没有办法获取视频中的帧数u
  • NSString 对象的最大长度是多少?

    NSString 对象中可以保存的最大字符串大小是多少 这会动态变化吗 我假设 NSString 的硬限制是 NSUIntegerMax 个字符 因为 NSString 的索引和大小相关的方法返回 NSUInteger 由于当前能够运行 i
  • 与 parse-server 和 auth0 的自定义身份验证集成

    我想将 auth0 com 与开源解析服务器结合使用 我当前的方法是通过 iOS 的 Lock 库使用标准登录从 auth0 获取令牌 使用该令牌 我想在解析服务器上调用自定义身份验证方法 该方法检查令牌是否有效 如果有效则将登录用户 我的
  • 在 Xcode 中查找未使用的文件

    我最近开始开发一个新应用程序 它基本上是我以前制作的应用程序的副本 但做了一些更改 为了制作这个新应用程序 我复制了旧应用程序并删除了一些不需要的内容 我想知道 有没有办法知道 Xcode 中正在使用哪些类文件 或者有什么关于如何查找未使用
  • gestureRecognizer shouldReceiveTouch 持续存在于已释放的视图中导致崩溃

    我有一个相当简单的 UITableView 它在堆栈上推送一个新视图 新视图有一个像这样初始化的gestureRecognizer synthesize swipeGestureLeft void viewDidLoad swipeGest
  • 加速度计适用于 iphone/ipad 模拟器吗?

    据我所知 当我在 XCode 中使用 iPad 模拟器时 我的应用程序应该会触发加速计事件 但事实并非如此 我用谷歌搜索了一下 似乎加速度计没有在模拟器中实现 这是正确的吗 如果是这样 为什么他们会有 硬件 gt 摇动手势 菜单选项 我的代
  • 无法在 xcode 8 beta 6 上编译 AWS CustomIdentityProvider

    我在 iOS 应用程序中使用 Amazon Cognito 和 Facebook 登录 直到 beta 5 为止此代码从这个SO线程 https stackoverflow com questions 37597388 aws cognit
  • 为什么 Apple 建议以编程方式创建模态导航控制器?

    以模态方式呈现导航控制器时 以编程方式创建和配置导航控制器对象通常更简单 虽然您也可以使用 Interface Builder 来执行此操作 但通常不建议这样做 事实上 因为我的导航控制器很简单 我宁愿在IB中自定义视图 虽然我不知道确切的
  • iOS - 在相机上放置自定义叠加层(垂直对齐)。顶部黑条的大小

    我正在寻找以下问题的编程解决方案 我想在相机 iOS 上绘制自定义叠加层 我希望它位于相机输出视图的垂直中央 我已经完成了相对于屏幕而不是相机图片居中绘制自定义视图 为此 我需要获得顶部黑条的大小 我怎么才能得到它 顶部和底部栏的大小不相等
  • SDK 和 iOS 部署目标。

    我使用最新的 SDK 4 1 构建项目并设置 iOS 部署目标 3 0 如果我使用4 0 sdk的某些方法 我可以在真正的iPhone 3 0上运行我的项目吗 您只能在 OS 3 设备上运行您的项目 如果有条件地编码围绕您想要使用的 OS
  • iOS 有 INTERNET 权限吗?

    我在 iOS 设备上的 flutter dio 包上遇到了一个奇怪的问题 我编写了一个向 url 发送 GET 请求的应用程序 Android 上一切正常 但 iOS 上的请求似乎无法通过 没有发生任何错误 什么也没有 我在 Android
  • Swift 单元测试 - 如何断言 CGColor 是它应该的样子?

    使用 Xcode V7 2 尝试进行单元测试 需要验证是否已设置正确的颜色 并收到以下消息 Cannot invoke XCTAssertEqual with an argument list of type CGColor CGColor
  • AdMob 和 DFP 广告联盟之间的区别?

    我正在尝试在我的 iOS 应用程序上显示横幅广告和插页式广告 但现在我对广告网络感到困惑 AdMob 与 DFP 有何不同 哪一种更适合投放广告 有人可以提供帮助吗 提前致谢 AdMob 是一个广告网络 作为发布商 您可以通过展示从网络投放
  • iOS:如何创建核心数据库的备份副本?以及如何导出/导入该副本?

    我想为我的应用程序的用户提供创建核心数据数据库备份的可能性 特别是在他切换到新设备等情况下 我该怎么做呢 特别是如何重新导入该文件 我的意思是 假设他制作了数据库的备份副本 然后更改了大量内容并想要重置为以前保存的备份副本 我该怎么做呢 T
  • 如何检测 UITableView 中某个单元格的双击?

    如何检测某个单元格上的双击UITableView i e 如果用户进行了一次触摸 我想执行一个操作 如果用户进行了两次触摸 我想执行另一个操作 我还需要知道进行触摸的索引路径 我怎样才能实现这个目标 Thanks 如果您不想创建子类UITa
  • 具有隐式授权的 OAuth 应用程序中的客户端模拟

    来自 OAuth 草案 隐式section https datatracker ietf org doc html draft ietf oauth v2 31 section 1 3 2 在隐式授权流程期间发出访问令牌时 授权服务器不对客
  • iOS 目标 c 中的 AES/CBC/PKCS5Padding 结果与 Android 不同

    我在 Android 应用程序中使用 AES CBC PKCS5Padding 代码就像 private static String TRANSFORMATION AES CBC PKCS5Padding private static St

随机推荐

  • C# 中同一 LAN 上的 MAC 地址到 IP 地址

    有没有办法在 C 中找到 MAC 地址到 IP 地址之间的映射 我认为 RARP 应该能够做到这一点 C 中是否有可用的 API 为什么不生成一个进程来调用rarp并从进程的输出中读取输入流 这是一种真正便宜 简单 愉快的做法 在我的脑海中
  • javascript - 将变量插入正则表达式

    我有以下工作正常 允许表单字段在空白或包含单词 hello 或通过其他验证时有效 var re new RegExp hello FG d 5 d 5 AB 但我想让 hello 这个词成为一个变量的值 我已经尝试过 但它似乎不再起作用 v
  • 如何在 VS 2008 中用 HTML 标记快速包围文本?

    我正在使用 Visual Studio 2008 编辑器 有没有办法以一段文本为例 突出显示它并使用快捷方式快速添加标记 例如 假设我有一条短信 我去了 the store我想将其加粗 我必须输入 b the store b 有没有更快更简
  • 如何获取视图html并返回客户端

    下面是返回视图到 jquery 函数的代码片段 但我想知道如何提取或获取视图 html 并返回到客户端 function myddl change function var url this data url var value this
  • 是否有 C# 相当于 Java ConcurrentHashMap

    我需要 C 中的字典 哈希图 允许您执行以下操作 无需锁定即可同时输入值和迭代 锁只放 get没有被锁定 可能会同时get很多次 Thanks 在这里查看 ConcurrentDictionary http msdn microsoft c
  • android操作系统可以捕获蓝牙鼠标右键单击和滚轮事件吗?

    我有一部 android 2 3 5 手机 它可以连接到蓝牙鼠标 但我发现它只响应左键单击和鼠标移动 if event getAction MotionEvent ACTION DOWN Left Button else if event
  • Cordova/PhoneGap无法添加WP7/WP8/Windows平台

    我在 Win8 上尝试添加 wp8 平台时遇到错误 详细信息如下 CordovaWP8 gt cordova d 平台添加 wp8 wp8 的科尔多瓦库已经存在 无需下载 继续 检查平台 wp8 是否通过最低要求 检查 wp8 要求 运行
  • Visual Studio 2015 Intellisense 键盘选项

    首先 我是在这里问这个问题 而不是在 Microsoft 论坛上 因为它们是 嗯 你知道它们是什么 我喜欢 VS2015 Intellisense 自动完成功能 当我需要它们时 但他们愚蠢地添加了空格键作为选择键 更愚蠢的是 他们还添加了
  • 获取WPML的语言代码

    我正在尝试获取 WPLM wordpress 插件的语言代码 这就是我在没有运气的情况下所做的 p Spanish text p 知道问题出在哪里吗 我检查了一些教程 他们就是这样做的 es En不是有效的语言代码 你只想使用es p Sp
  • 为什么我不能使用引用子类型实例的父类型的引用来调用子类方法?

    我正在学习Java 同时试图理解继承 我无法弄清楚为什么子类 walk 中的重写方法被执行 但其他 xyz 方法却没有被执行 class Person public void walk System out println walking
  • 按欧拉角输入旋转四元数

    我正在编写一段代码来控制 3D 空间中的机械臂 机械臂通过四元数处理旋转 但我希望用户通过改变偏航 俯仰和滚动来控制它 因为人类使用这些更明智 我编写了函数来获取用户想要在每个方向 滚动 俯仰 偏航 旋转手臂的量并输出新的四元数 我将 cu
  • 使用 perl 从远程主机读取文件

    我正在尝试从 ubuntu 机器读取位于同一 LAN 中远程主机 ubuntu 上的 root 目录下的文件 temp txt ssh 和 ftp 已打开 perl 脚本能够连接 并出现一个 OpenSSH 对话框 要求输入密码 然后程序存
  • 使用线程睡眠更新 UI

    我正忙于为 Android 设备制作应用程序 现在我正在测试一些东西 我想改变背景颜色有限次 比如说 5 次 每次背景改变时 我希望它在 2 3 秒后再次改变 如果我使用 Thread 类 它会在 Thread 完成后加载整个模板 您看不到
  • 在后面创建数据模板代码

    我正在尝试创建一个用于显示数据的列表框视图 并且希望它包含一个带有 2 列 产品 ID 和产品条形码 数据模板的列表框 我想使用纯 C 代码创建它 或者如果可能的话通过 xaml 加载它 如果我可以创建一个模板 我就可以将 C 作为某种资源
  • 使用 scipy.io.savemat 保存嵌套列表

    这与我的上一个问题有关 可以找到here 我正在处理类似于我在该链接中描述为markerList 的列表的列表 因此是一个具有三个级别的列表 我需要将此信息保存为 mat 文件 但无法将其保存为正确的类型 当使用 scipy io save
  • 带分隔线的进度条

    有人可以向我解释如何实现带有分隔线的进度条 如下图所示吗 对于我正在使用的进度条https github com akexorcist Android RoundCornerProgressBar但这似乎没有分隔符选项 replace Pr
  • Spring Boot 和 JUnit 5 之间的交互——必须使用整体工件而不是个体?

    这个问题之前已经被问过 例如here 但我的观察与之前报道的不一样 我注意到要让 JUnit 5 工作 我必须包含整个 JUnit 5 工件 testImplementation org junit jupiter junit jupite
  • 我应该使用什么正则表达式根据 2 个单词格式和空格分割字符串?

    我正在尝试分割字符串 Chan 0 2 50 0 12 13 92 83 46 Chan 1 2 58 85 92 2 47 9 03 Chan 2 5 00 85 0 33 33 6 64 Chan 3 0 00 0 00 14 41 8
  • 如何获取已删除分区中索引节点在块设备中的偏移量

    在全新安装过程中 我不小心格式化了包含数据的磁盘 我尝试过使用一些工具 最重要的是testdisk 但我没有得到好的结果 看我不成功的帖子在超级用户上 所以我决定阅读一些有关的文档ext2 文件系统结构 我可以获得一些结果 删除的分区有一个
  • 为什么 Emoji 无法在 UITextField 中正确显示?

    当使用以下代码设置表情符号字符时 self textField text ue415 它只是显示为正方形 但是当我从键盘输入表情符号时 它会正确显示 有什么问题 PS 我使用的是IOS 5 1 在旧版本的 iOS 中 表情符号字符全部位于