我正在编写一个IRC客户端iOS应用程序。我希望我的“发送消息”UIViewController
基本上与内置的iOS文本消息应用程序的发送消息视图完全相同。我正在谈论的观点尤其是当您打开Messages
应用程序时看到的视图,然后单击右上角的“新消息”图标。它看起来像这样:
这看起来像UIViewController
,顶部有UIToolbar
。除此之外,我无法弄清楚剩下的是什么。这看起来不像基于UITableView
的表单,因为我没有看到空行分隔符,并且该区域不允许您用手指拖动它,就像您希望在表格视图中看到的那样。所以看起来像某种容器,带有UILabel
,UITextField
和图片或按钮,用于加号。
用于键入的文本区域看起来像某个页脚区域内的UITextView
,它垂直增长直到到达“To:”标题的底部边缘,此时文本区域才开始滚动而不是扩展。
所选人名后面的绿色。这甚至是什么?这是一个自定义UILabel
,还是绿色最有可能是图形背景图像?
我是iOS开发的初学者,所以我不太了解这些东西是什么。此短信应用中使用了哪些组件?如果那不是基于表格的形式,那么它是什么?我如何制作类似于键盘顶部的那个页脚,直到它到达顶部为止?
为了澄清,我不需要在此之后发生的实际聊天气泡屏幕。我只想将其重新创建为一个简单的发送消息视图。我不需要预先建立的聊天气泡包。我只需要重新创建这个外观。
答案 0 :(得分:1)
最终我们从头开始构建您正在寻找的视图(或非常类似的东西)。这很困难,我们的代码仍然不漂亮。我猜想Apple和消息和邮件应用程序中的代码也不是很漂亮,或者它们会把它变成API。也许他们有一天会这样做,但是现在你已经接受了痛苦而且自己动手。
答案 1 :(得分:1)
最终我们从头开始构建您正在寻找的视图(或非常类似的东西)。这很困难,我们的代码仍然不漂亮。我猜想Apple和消息和邮件应用程序中的代码也不是很漂亮,或者它们会把它变成API。也许他们有一天会这样做,但是现在你已经接受了痛苦而且自己动手。
更新:请在此处查看另一个开源解决方案。
http://cocoacontrols.com/platforms/ios/controls/acanichat
我根本没有评估它。
答案 2 :(得分:1)
我不能确切地说苹果选择使用什么来实现这些元素(我确信有很多方法可以做到这些),但这是我建议的每一个:
收件人列表:
UITextField
,其框架被约束在收件人“气泡”和添加按钮之间(每次添加收件人时都会调整大小)UIView
容器,其中包含UILabel
收件人姓名,覆盖在包含绿色“气泡”的可伸缩UIImageView
之上下面(请参阅this获取有关创建可伸缩图像的帮助)UIButton
UITableViewCell
中(如果您不打算同时包含消息列表,则可能不需要/想要这样做)消息字段:
UITextView
,在添加或删除新行时调整其帧大小,并在其大小(加上键盘大小)到达工具栏顶部时开始滚动UIButton
UIButton
UIView
中,在屏幕底部实现为页脚(当然,在键盘顶部)同样,这只是我如何设计它的草稿 - 这可能不是Apple的方式,并且可能不一定适用于您的用例。