2

我想要做的是复制邮件应用程序和消息应用程序中看到的 UITextField 之类的 NSTokenField(键入联系人并提出建议)。

我已经让自动完成功能完美运行,当您输入 UITextField 时,会弹出一个 UITableView,显示它可以在数组中找到的任何匹配项,当您单击一个时,它会将其添加到 UITextField。到目前为止,我对此感到非常满意。

我现在遇到的问题是使控件看起来像本机应用程序中的控件。毕竟,设计就是一切!

我的第一个问题是如何将阴影外观添加到 UITableView?看起来它沉没在 UITextField 后面。

其次,我知道我将不得不继承 UITextField 以使其看起来像我想要的那样,但我不知道从哪里开始。一些指针或样本会很棒!

最后,我想我需要创建一个带有文本空间和蓝色渐变的自定义 UIButton,然后将其添加到 UITextField。与 UITextField 相同的问题,不确定如何子类化 UIButton(它需要什么方法来绘制和填充)或如何将其添加到 UITextField,这样当您在 UITextField 中单击退格键时,按钮将突出显示,然后如果再次单击退格键则将其删除(正是 NSTokenField 的工作方式)。

我已经包含了一张图片,以便您可以看到我在说什么: http ://www.thermoglobalnuclearwar.com/stuff/mail.jpg

我看过 Joe Hewitts Three20 项目,但我无法确定它的正面或反面。我想非常简单地开始并了解正在发生的一切,而不是仅仅将他的代码拖到我的代码中而不知道发生了什么!

任何帮助是极大的赞赏!

谢谢,汤姆。

4

2 回答 2

1

您是否考虑过使用Three20 库?它包含一个我认为可以满足您要求的控件(TTPickerTextView)。

正如网站描述所述

TTPickerTextField是一个预先输入的 UITextField。当您键入时,它会搜索数据源,并在您选择预先输入选项时将气泡添加到文本流中。我在 TTMessageController 中使用它来选择消息收件人的姓名。

源代码至少可以为您提供一些关于如何实现各种视觉效果的指示。

于 2009-10-22T22:57:46.373 回答
1

好的,我已经在 UITextField 下工作了阴影,并且我已经向它添加了“To:”标签。看起来不错!

所以最后就是蓝色的NSToken之类的控件了。我开始认为最简单的事情就是继承 UIView 并在其中绘制蓝色渐变和标签。这给我带来了更多问题:

我发现了这个: http: //github.com/leonho/iphone-libs/tree/master它绘制了一个漂亮的圆形视图,我已经对其进行了调整以添加一些文本而不是数字,我不知道怎么做是绘制渐变而不是纯色块。

之后,只需将圆角视图添加到 UITextField、移动光标并解决当光标到达视图时如何删除视图的问题,但我会在需要时解决这个问题。

于 2009-10-26T19:17:45.520 回答