Вставьте строку в позиции курсора UITextField

Для Firefox, для получения полных данных или необходимо использовать node.normalize, прежде чем Вы будете называть node.firstChild или использовать node.textContent, обоими из которых является Mozilla определенные методы

На самом деле, все те являются методами W3C DOM, поддерживаемыми подавляющим большинством браузеров. Я думаю, что Вы найдете, что они также работают в IE.

Моя самая большая проблема перекрестного браузера - то, что существуют люди там все еще использование IE.

115-секундный самый большой то, что даже в следующих за стандартами браузерах, выполнение некоторых вещей в CSS все еще невозможно; например tbody {overflow:auto} не делает ничего полезного ни в чем, но Гекконе, и даже там это имеет ошибки.

12
задан Suragch 21 March 2016 в 11:52
поделиться

3 ответа

Наконец-то я нашел решение этой проблемы! Вы можете поместить текст, который вам нужно вставить в системный монтажный стол, а затем вставить его в текущую позицию курсора:

[myTextField paste:self]  

Я нашел решение в блоге этого человека:
http://dev.ragfield.com/2009/09 /insert-text-at-current-cursor-location.html

Функциональность вставки зависит от ОС V3.0, но я протестировал ее, и она отлично работает с настраиваемой клавиатурой.

Обновление: Согласно приведенному ниже комментарию Ясарина, рекомендуется сначала сохранить содержимое монтажного стола, а затем восстановить его. Для удобства вот мой код:

  // Get a reference to the system pasteboard
  UIPasteboard* lPasteBoard = [UIPasteboard generalPasteboard];

  // Save the current pasteboard contents so we can restore them later
  NSArray* lPasteBoardItems = [lPasteBoard.items copy];

  // Update the system pasteboard with my string
  lPasteBoard.string = @"-";

  // Paste the pasteboard contents at current cursor location
  [myUIField paste:self];

  // Restore original pasteboard contents
  lPasteBoard.items = lPasteBoardItems;

  [lPasteBoardItems release];
33
ответ дан 2 December 2019 в 03:11
поделиться

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

Предполагая, что ваша точность составляет 2 десятичных знака:

start: value is 0.00
user enters 1: value is 0.01
user enters 2: value is 0.12
user enters 3: value is 1.23
user enters 4: value is 12.34

См. Как лучше всего вводить числовые значения с десятичными точками? для аналогичного решения для валюты.

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

1
ответ дан 2 December 2019 в 03:11
поделиться

Считывает значение текстового поля как строку при нажатии кнопки. Отредактируйте строку, а затем установите значение поля на новую строку.

0
ответ дан 2 December 2019 в 03:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: