TTPickerTextField - Как ограничить количество выбираемых элементов - PullRequest
1 голос
/ 11 апреля 2011

Я реализовал TTPickerTextField в своем приложении, я хотел бы ограничить количество вариантов выбора, которые пользователь может сделать.

Теперь у TTPickerTextField нет ограничений.Пользователь может выбрать неограниченное количество полей.

Большое спасибо.Сахид

1 Ответ

1 голос
/ 04 апреля 2012

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