我是 XCode 和 Objective-C 的新手,正在尝试重新创建 iMessage 应用程序的底部栏,但我不知道该怎么做。我见过其他应用程序使用完全相同的布局,WhatsApp Messenger例如,这让我觉得可能有一些简单的方法可以做到这一点。
让 UIButton 看起来像发送按钮似乎是不可能的,而且似乎同样不可能让 UITextField 看起来像输入字段。真的都是通过使用图像来完成的,还是有一些 native 的(正确的)方法来做到这一点?如果都是图片,我在哪里可以找到它们,还是必须自己制作?
此外,如何在用户输入文本时使文本字段垂直展开? This question至少似乎回答了如何使用图像制作动态宽度按钮,但没有回答如何制作具有可变高度的文本字段。
这就是我要重新创建的内容:
最佳答案
没有简单的方法可以做到。棘手的部分是模仿元素的行为和精确位置。我为自己开发的应用程序高精度地完成了这项工作,并将撰写栏提取到一个独立的项目中,这样任何人都可以轻松获得它。它叫做PHFComposeBarView .这是它的样子:
总结一下,这些是功能:
- 可以更改主按钮(右边那个)的标题
- 可以更改主按钮的色调
- 占位符的标题可以更改
- placeholder 作为属性公开以供进一步自定义
- TextView 作为进一步定制的属性公开
- 实用程序按钮(左边那个)可以通过设置实用程序来显示 按钮图像(透明背景上的白色图像的最佳效果 到 32pt 边长)
- 指定最大字符数时的可选字符计数器(类似于 在 Messages.app 中输入短信;不施加最大字符数限制)
- 使用委托(delegate)来通知按钮按下
- 从 TextView 转发委托(delegate)方法
- 在文本换行和发布通知并发送委托(delegate)时自动增长 有关更改前后帧更改的消息,以便您可以调整 你的其他看法 用于框架更改并发送委托(delegate)方法,以便您可以调整 View
- 默认向上生长,或者向下生长
- 生长的最大高度可以用点数或线数来指定
关于objective-c - 如何重新创建 iMessage 发送按钮和文本字段布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10008748/