我要做的是复制NSTokenField,就像在邮件应用程序和消息应用程序中看到的UITextField一样(键入一个联系人,它会提出建议)。

我已经完成了自动完成工作,当你输入一个UITextField时,会弹出一个UITableView,显示它可以在一个数组中找到的任何匹配,当你点击它时,它会将它添加到UITextField。到目前为止,我对此非常满意。

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

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

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

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

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

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

非常感谢任何帮助!

谢谢, 汤姆。

有帮助吗?

解决方案 2

好的,我在UITextField下面有阴影,我添加了“To:”给它贴上标签。看起来很棒!

所以最后的事情是蓝色NSToken像控件。我开始认为最简单的事情就是将UIView子类化并在其中绘制蓝色渐变和标签。这让我有了更多的问题:

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

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

其他提示

您是否考虑过使用 Three20图书馆?它包含一个我认为你想做的控件(TTPickerTextView)。

正如网站描述所述

  

TTPickerTextField 是一个提前输入的UITextField 。在您键入时,它会搜索数据源   选择提前输入选项时,会在文本流中添加气泡。我用它   TTMessageController用于选择邮件收件人的名称。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top