Выбор элемента управления в UITextView - PullRequest
0 голосов
/ 05 декабря 2011

Я не хочу, чтобы пользователь мог выбирать первые несколько символов моего UITextView. Я попытался создать подклассы и заметил такие методы, как -setSelectedRange: и -setSelectedTextRange:. Оба звонят в разное время, но мне кажется, что мне нужен последний.

Метод -setSelectedTextRange: принимает объект UITextRange, который имеет свойство UITextPosition, называемое «start». Это звучит как то, что я хочу, но я не могу написать в него, и для этого объекта нет классов.

У кого-нибудь есть идеи, как мне это сделать? FWIW, я пытаюсь повторить то, что Facebook имеет в их представлении «Регистрация» в их приложении iPhone.

Заранее спасибо!

1 Ответ

1 голос
/ 15 декабря 2011

Я лично не знаком с функциональностью просмотра регистрации в приложении Facebook, но, исходя из вашего описания, в вашем подклассе вам нужно что-то подобное:

- (BOOL)becomeFirstResponder
{
    if ([super becomeFirstResponder]) {
        // Select text in field.        
        [self setSelectedTextRange:[self textRangeFromPosition:[self positionFromPosition:self.beginningOfDocument offset:1] toPosition:self.endOfDocument]];
        return YES;
    }
    return NO;
}

В частностиобратите внимание на аргумент "offset: 1".Вы должны быть в состоянии использовать это, чтобы установить начало выбранного диапазона текста.Кроме того, вы должны убедиться, что указанный вами новый текстовый диапазон действителен для числа символов в текстовом поле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...