У меня есть uitextview, который становится первым ответчиком в режиме просмотра. но я хочу изменить положение курсора uitextview в определенном положении в x только для первых двух строк.Как изменить начальную позицию курсора внутри UITextView
ответ
Возможно, вы можете использовать UITextKit (a very good tutorial).
Например, чтобы иметь закругленный текст, который вы можете использовать что-то вроде:
UIBezierPath* exclusionPath = [UIBezierPath bezierPathWithOvalInRect:yourTextView.bounds];
exclusionPath = [exclusionPath bezierPathByReversingPath];
yourTextView.textContainer.exclusionPaths = @[exclusionPath];
Вы пробовали следующие решения?
Управление позицией курсора в UITextField является сложным, потому что столько абстракций связано с полями ввода и вычислением позиций. Однако это, безусловно, возможно. Вы можете использовать функцию-член setSelectedTextRange
:
[input setSelectedTextRange:[input textRangeFromPosition:start toPosition:end]];
Вот функция, которая принимает ряд и выбирает тексты в этом диапазоне. Если вы просто хотите, чтобы поместить курсор в определенный индекс, просто использовать диапазон с длиной 0:
+ (void)selectTextForInput:(UITextField *)input atRange:(NSRange)range {
UITextPosition *start = [input positionFromPosition:[input beginningOfDocument]
offset:range.location];
UITextPosition *end = [input positionFromPosition:start
offset:range.length];
[input setSelectedTextRange:[input textRangeFromPosition:start toPosition:end]];
}
Например, чтобы поместить курсор на idx
в UITextField input
:
[Helpers selectTextForInput:input
atRange:NSMakeRange(idx, 0)];
Источник : https://stackoverflow.com/a/11532718/914111
не проверял из-за какой-то занят, поэтому, пожалуйста, дайте нам знать погоды это работает или нет (может иметь проблемы в IOS8.0)
mainy d изящные методы uitextview из google, но никто не работает @ d4Rk –
Можете ли вы показать нам какой-то код и что не работает? Или то, что вы ожидаете от этого. – d4Rk
Я просто хочу сделать это как экраны facebook для обновления статуса в android –