Обойти ограничения iPhone UITextField - PullRequest
0 голосов
/ 17 сентября 2009

Я провел несколько дней, пытаясь обойти ограничения с UITextField, а именно без text wrap и number of lines. Я создал UILabel, который используется для отображения текста, введенного в UITextField, и правильно выполняет все операции форматирования. UITextField равен hidden, и пользователь видит все text, введенные только в UILabel, по мере ввода.

Все работает отлично, за исключением отсутствия курсора на UILabel, чтобы показать пользователю, где появится следующий символ, введенный в поле.

Я экспериментировал с использованием различных символов в качестве курсоров на label. Но нельзя обойти стороной тот факт, что это не стандартный мигающий индикатор курсора на iPhone, и поэтому все выглядит просто неправильно.

Прежде чем я покину корабль и отправлюсь на UITextView (с его собственным набором проблем), мне было интересно, есть ли у кого-нибудь какие-либо идеи относительно того, как мигающий курсор можно добавить в текстовое поле на тексте метки. *

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

Ответы [ 3 ]

0 голосов
/ 17 сентября 2009

Если вам не нужно поддерживать выбор, копирование и вставку, и вам нужен только многострочный ввод, вы можете использовать | символ и анимировать его, как если бы он мигал ... либо это, либо, возможно, пользовательский вид наложения поверх метки, который будет реализовывать рисование курсора, анимацию и позиционирование на основе длины строки и используемого шрифта.

– sizeWithFont:forWidth:lineBreakMode:  
– sizeWithFont:constrainedToSize:  
– sizeWithFont:constrainedToSize:lineBreakMode:  
– sizeWithFont:minFontSize:actualFontSize:forWidth:lineBreakMode:

может помочь достичь именно этого.

0 голосов
/ 18 сентября 2009

Так что же мешает вам перейти на UITextView? Кажется, возможно, легче решить эти проблемы.

0 голосов
/ 17 сентября 2009

У вашего подхода есть и другие проблемы, из-за которых стоит переосмыслить стратегию.

  • Как выглядит выбор?
  • копировать + вставить?
  • Вы обращаетесь с языками справа налево?
  • Автокоррекция?

Список, конечно, длиннее, но я думаю, что достаточно рассмотреть другие решения. Но я согласен, что вся обработка текста в UIKit немного скудна.

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