iOS4中是否存在类似于TTPickerTextField的替代或新事物

我正在寻找一种重新创建“新邮件”控件 View 的方法,并且我已经阅读了TTPickerTextField。 Three20是我的最后一个选择(尤其是因为它没有iPad版本),我想知道iOS4是否提供了一些新的UI控件来执行此操作。

最佳答案

这是iPhone上邮件撰写器的 View 层次结构的转储(不包括某些详细信息)。

<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控件找到了一个控件,该控件应该可以执行您想要的操作。您可以在Github上找到它。它称为TITokenFieldView

这是Github上的另一个名为JSTokenField

我从未使用过任何 token 字段,因此无法保证其质量。

关于iphone - 有TTPickerTextField替代品吗?也许在iOS4中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3188326/

10-09 09:38