7

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

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

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

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

空的文本消息形式 在此处输入图像描述

4

2 回答 2

8

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

PHFComposeBarView

总结一下,这些是功能:

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

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

于 2012-05-17T16:51:15.633 回答