Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 泡泡聊天&x2B;表情符号+;UITableViewCell_Iphone_Cocoa Touch_Uitableview_Uiwebview - Fatal编程技术网

Iphone 泡泡聊天&x2B;表情符号+;UITableViewCell

Iphone 泡泡聊天&x2B;表情符号+;UITableViewCell,iphone,cocoa-touch,uitableview,uiwebview,Iphone,Cocoa Touch,Uitableview,Uiwebview,这是iPhone开发的一个问题,我希望有人能为我指明正确的方向,告诉我应该如何实现这一点 我正在尝试编写一个支持表情符号/笑脸的聊天应用程序。笑脸/表情符号图像的存储位置可以稍后确定。我认为很少有iphone应用程序已经做到了这一点(例如skype+ebuddy(?),但不确定它们采用了什么方法 在四处搜索之后,似乎有几种方法可以做到这一点(我认为): 以前讨论过的泡泡聊天风格UITableViewController与自定义的UITableViewCell。对于表情符号,可能需要进行大量计算

这是iPhone开发的一个问题,我希望有人能为我指明正确的方向,告诉我应该如何实现这一点

我正在尝试编写一个支持表情符号/笑脸的聊天应用程序。笑脸/表情符号图像的存储位置可以稍后确定。我认为很少有iphone应用程序已经做到了这一点(例如skype+ebuddy(?),但不确定它们采用了什么方法

在四处搜索之后,似乎有几种方法可以做到这一点(我认为):

  • 以前讨论过的泡泡聊天风格<代码>UITableViewController与自定义的
    UITableViewCell
    。对于表情符号,可能需要进行大量计算,以确定每个表情符号的
    UIImageView
    粘贴位置
  • 使用
    UIWebView
    作为整个“窗口”。把它设计成泡泡聊天。取消对图像笑脸放置的任何手动计算

我不知道这两种方法的性能是什么样的,它有多复杂,等等,所以任何评论和指导肯定会有所帮助。干杯

如果您使用自定义UITableViewCell,那么我可能会实现drawRect:而不是添加标签和图像。一个可能需要与另一个一样长的时间来实现,但它的性能会更好

UIWebView可能值得一小段时间,不过您也必须确保所有内容都正确无误。与其使用一个大的网页,我建议只需在每个表视图单元格中插入一个web视图


就我个人而言,我更喜欢第一种方法,文本的测量和布局不太复杂,但我从来都不是HTML的终极大师。

我同意@Eiko制作自定义UITableViewCells,特别是使用drawRect而不是添加标签、图像等


如果您使用UIWebView,您将如何处理它的更新?每次发送新文本时是否完全重新加载?这似乎会成为问题的根源。一旦你进行了长时间的对话,重新加载整个UIWebView的内容将导致一些闪烁,这在我看来是不可接受的。使用UIWebView还需要在内存中保存每个对话的两个完整副本。1作为后端数据,1作为HTML。在使用UITableView时,您拥有后端数据,并且一次只能复制足够多的数据来填充一个屏幕。

我明白了,我明白了。我想我必须更好地理解drawrect的低级API,但可以肯定的是,这将使我能够更好地控制我的显示内容。哦,孩子,将会有很多字符串长度/宽度的计算。i、 e.如果适合x宽度,则画线,否则缠绕。如果有表情符号,它是否合适等将看到它如何进行。谢谢你的回复,伙计。如果整个视图都是UIWebView,我不太确定该如何处理它。我还不太熟悉UIWebView方面的内容。也许有一种方法可以动态地注入html代码?如果没有,那么闪烁肯定会发生。@eiko引用的另一种方式是为每个需要表情符号的聊天项目提供一个UIWebview。如果您只对至少有一个表情符号的聊天项目进行此操作,可能不会太糟糕。否则,只需自定义UITableViewCell。我确实对性能和内存使用有很多担心。他可以连接javascript并动态更改页面。另一方面,UIWebView允许用户使用复制和粘贴,这在自定义绘制的视图上是不可能实现的,至少在细节级别上是不可能实现的。