gpt4 book ai didi

ios6 - ios中的自定义笑脸

转载 作者:行者123 更新时间:2023-12-01 11:46:03 25 4
gpt4 key购买 nike

我正在创建一个聊天应用程序,我必须在其中添加自己的笑脸(自定义)作为现有的笑脸/表情符号图标。这可能吗?任何人有想法然后请帮助我。

提前致谢

最佳答案

我目前正在研究相同的内容。您可以研究几种方法,但考虑到您正在开发聊天应用程序这一事实,我相信您会使用 UITableView 并且滚动性能将是您非常关心的问题。如果你使用的方法太复杂,滚动会非常抖动,特别是在旧设备上(我不确定你是否针对 iPhone4)。

我确定了以下选项:

1) 您可以将每条消息作为 UIWebView 加载,并使用 HTML 在您需要自定义表情符号的任何地方插入图像。这似乎是最简单的方法,但它也是一种缓慢的方法。我没有过多地研究这个问题,并将其作为最后的选择。

2) 您可以使用 UILabel 子类。您可以随意修改这些代码,其中大部分代码会扫描“http://”或“www”等文本前缀。并在那里插入一个带有目标操作的 UIButton。你可以在那个地方放一个 UIImageView 。这里有一些很好的项目可以指导您朝这个方向发展。

查看 Nimbus 属性标签(稍微复杂)。和 TTTAttributedLabel。最好的(最简单的)是 FancyLabel .这是智能标签的一个非常简洁和简单的实现。

3) 你可以看看 NSAttributedStrings。对不起,我对他们没有太多经验。可以找到类似的东西 here ,一个名为 DTCoreText 的项目。如果你继续努力去理解他们想要做什么,那真的会对你有帮助。也可以查找有关 DTCoreText 的教程。我相信这比什么都对你有帮助。请记住从 github 克隆 DTCoreText git。如果您只是下载 zip,则它不起作用。

4) 我头脑中最复杂的方法,也可能是性能最高的方法,是通过确定哪些行有表情符号(因为它们会比普通字符大一点)来手动计算 Label 的大小,然后替换它们在 NSString 中有(足够的)空格。我会将 NSString 绘制为 UILabel 或使用以下方法:[textX drawInRect:theRect withFont:font lineBreakMode:UILineBreakModeClip alignment:UITextAlignmentCenter];。然后我会在正确的位置手动插入每个表情符号作为 CALayer。

对于各种绘图方法的性能相关查询,我建议您查看 layer-trees-vs-flat-drawing-graphics-performance-across-ios-device-generations 上的 floriankugler 博客,这是一篇比较几种绘图方法的精彩文章。它建议使用 CALayers 而不是 drawRect 或简单的 UIView 层次结构方法。

5) 如果您在滚动时仍然感到紧张,您可能会勇敢地尝试在 OpenGL 中渲染文本。我也在进一步阅读这篇文章,这似乎是一项非常非常困难的任务。我的应用程序仍然不稳定,我可以使用我能得到的任何帮助。

6) 我的一位同事还建议通过在 TTF 中嵌入 PNG 来制作自定义字体,就像苹果公司创建苹果表情符号字体所做的那样。同样,我在那里帮不上什么忙。如果有的话,这似乎是一种非常困难的方法。

我很抱歉不能提供我想要的那么多链接,但我现在没有足够的声誉。 :P

关于ios6 - ios中的自定义笑脸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15239754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com