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;
}