TTPickerTextField - 如何限制可选择的项目数

时间:2011-04-11 12:32:20

标签: iphone objective-c three20

我在我的应用程序中实现了一个TTPickerTextField, 我想限制用户可以选择的数量。

现在,TTPickerTextField没有限制。用户可以选择无限数量的字段。

非常感谢。 萨希德

1 个答案:

答案 0 :(得分:1)

TTPickerTextField是UITextField的子类,因此您应该能够使用其委托方法来执行您想要的操作。您可以通过实施textField:shouldChangeCharactersInRange委托方法并在达到最大令牌数时返回NO来执行此操作。

在创建和初始化TTPickerTextField的位置,请相应地设置委托方法:

pickerTextField.delegate = self;

然后你的委托对象(可能是控制器)可以实现委托方法来限制令牌的数量:

- (BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    BOOL canEdit = YES;

    if (textField == pickerTextField)  // 'pickerTextField' is the Three20's picker textfield that you want to limit.
    {
        if (range.length == 0 && pickerTextField.cells.count >= MAX_NUMBER_OF_TOKENS)
        {
            canEdit = NO;
        }
    }

    return canEdit;
}