如何重新创建 iMessage 发送按钮和文本字段布局?

Posted

技术标签:

【中文标题】如何重新创建 iMessage 发送按钮和文本字段布局?【英文标题】:How to recreate iMessage send button and text field layout? 【发布时间】:2012-04-04 09:50:10 【问题描述】:

我是 XCode 和 Objective-C 的新手,正在尝试重新创建 iMessage 应用程序的底部栏,但我不知道该怎么做。我看到其他应用程序使用完全相同的布局,例如WhatsApp Messenger,这让我觉得可能有一些简单的方法可以做到这一点。

让 UIButton 看起来像发送按钮似乎是不可能的,而让 UITextField 看起来像输入字段似乎同样不可能。真的都是通过使用图像来完成的,还是有一些本机(正确)的方式来做到这一点?如果都是图片,我在哪里可以找到它们,还是我必须自己制作?

另外,当用户输入文本时,如何使文本字段垂直扩展? This question 至少似乎回答了如何使用图像制作动态宽度按钮,但没有回答如何制作具有可变高度的文本字段。

这就是我要重新创建的内容:

【问题讨论】:

拥有这种外观的按钮并非不可能——WhatsApp 拥有! 确实有另一个非常简单的解决方案可以为这样的按钮创建代码:paintcodeapp.com 【参考方案1】:

没有简单的方法可以做到这一点。棘手的部分是模仿元素的行为和精确位置。我为我开发的应用程序高精度地完成了此操作,并将撰写栏提取到一个独立的项目中,因此任何人都可以轻松获得它。它被称为PHFComposeBarView。这是它的样子:

总结一下,就是这些特点:

主按钮(右侧)的标题可以更改 主按钮的色调可以改变 占位符的标题可以更改 占位符作为属性公开以供进一步自定义 文本视图显示为进一步自定义的属性 实用程序按钮(左侧的那个)可以通过设置实用程序来显示 按钮图像(透明背景上的白色图像的最佳效果) 到 32pt 边长) 指定最大字符数时的可选字符计数器(类似于 在 Messages.app 中输入短信;未施加最大字符数限制) 使用委托来通知按钮按下 从文本视图转发委托方法 当文本换行和发布通知并发送委托时自动增长 有关更改前后帧更改的消息,以便您可以调整 你的其他观点 用于框架更改并发送委托方法,以便您调整视图 默认情况下向上增长,或者向下增长 生长的最大高度可以用点或线数来指定

【讨论】:

【参考方案2】:

快速谷歌搜索吧。您必须制作自己的按钮图像,并在点击它时更改它。它是一个文本视图而不是文本字段,您必须使其动态更改大小。它后面有一个图像视图,它也会改变大小。我的建议是更多地使用谷歌。我通过 2 秒的谷歌搜索找到了很多这样的东西。至于酒吧他是链接http://developer.apple.com/library/ios/#samplecode/KeyboardAccessory/Introduction/Intro.html

【讨论】:

以上是关于如何重新创建 iMessage 发送按钮和文本字段布局?的主要内容,如果未能解决你的问题,请参考以下文章

如何重新创建弹出视图?

在 uitableview 底部创建一个文本字段并发送按钮,例如 Instagram 评论部分

使用 UICollectionView 自定义发送消息动画,如 iMessage 发送消息

如何在 iOS 10 的 iMessage 应用程序中发送带有图像和标题的音频文件?

以编程方式在 ios 中的 iMessage 中发送图片+文本?

如何在 iOS 交互式通知中添加文本字段