有没有TTPickerTextField替代品?也许在iOS4?

时间:2010-07-06 16:44:08

标签: iphone cocoa-touch ios4 three20

iOS4中是否存在类似TTPickerTextField

的替代或新内容

我正在寻找一种方法来重新创建“新邮件”控件视图,我已经阅读了TTPickerTextField。 Three20是我的最后一个选项(特别是它没有iPad版本),我想知道iOS4是否提供了一些新的UI控件来实现这一目标。

1 个答案:

答案 0 :(得分:4)

这是iPhone上邮件编辑器的视图层次结构的转储(包含一些细节)。

<UILayoutContainerView>
   | <UINavigationTransitionView>
   |    | <UIViewControllerWrapperView>
   |    |    | <MFMailComposeView>
   |    |    |    | <UIView>
   |    |    |    |    | <MFComposeScrollView>
   |    |    |    |    |    | <UIView>
   |    |    |    |    |    |    | <_MFComposeRecipientView>
   |    |    |    |    |    |    |    | <UIView>
   |    |    |    |    |    |    |    | <MFRecipientTextField>
   |    |    |    |    |    |    |    | <MFHeaderLabelView>
   |    |    |    |    |    |    | <MFComposeMultiView>
   |    |    |    |    |    |    |    | <UIView>
   |    |    |    |    |    |    |    | <MFHeaderLabelView>
   |    |    |    |    |    |    |    | <UILabel>
   |    |    |    |    |    |    | <MFComposeSubjectView>
   |    |    |    |    |    |    |    | <UIView>
   |    |    |    |    |    |    |    | <MFHeaderLabelView>
   |    |    |    |    |    |    |    | <UITextField>
   |    |    |    |    |    |    |    |    | <UITextFieldLabel>
   |    |    |    |    |    | <MFComposeTextContentView>
   |    |    |    |    |    |    | <MFComposeBodyField>
   |    |    |    |    |    | <UIImageView>
   |    |    |    |    |    | <UIImageView>
   | <UINavigationBar>
   |    | <UINavigationItemView>
   |    | <UINavigationButton>
   |    |    | <UIImageView>
   |    |    | <UIButtonLabel>
   |    | <UINavigationButton>
   |    |    | <UIImageView>
   |    |    | <UIButtonLabel>

您会发现所有MFCompose___View都没有记录。这意味着他们不受限制。据我所知,iOS 4中没有这样的控件。

我不建议使用Three20只使用一个元素。它大大增加了编译时间,我发现了Three20的几个错误。这很好,但可能会好得多。

如果您还没有,我强烈建议您查看Cocoa Controls。你可能会找到你想要的东西。 Github也是另一个重要来源。

如果您最终使用TTPickerTextField并发现它有问题,您可以随时重写代码或修复源代码中的错误。

修改

我通过Cocoa Controls找到了一个可以做你想要的控件。你可以在Github上找到它。它被称为TITokenFieldView

这是Github上的另一个名为JSTokenField

我从未使用任何一个令牌字段,因此我无法保证其质量。