Как добавить редактор Rich Text в UITextView в iOS Swift? [Дубликат]

Python 3.6.0 Timings

Вот результаты синхронизации с использованием Python 3.6.0. Имейте в виду, что эти времена относятся друг к другу, а не абсолютны.

Я придерживался только мелких копий, а также добавил некоторые новые методы, которые не были возможны в Python2, например list.copy() ( Python3 эквивалент среза ) и распаковки (*new_list, = list):

METHOD                  TIME TAKEN
b = a[:]                6.468942025996512   #Python2 winner
b = a.copy()            6.986593422974693   #Python3 "slice equivalent"
b = []; b.extend(a)     7.309216841997113
b = a[0:len(a)]         10.916740721993847
*b, = a                 11.046738261007704
b = list(a)             11.761539687984623
b = [i for i in a]      24.66165203397395
b = copy.copy(a)        30.853400873980718
b = []
for item in a:
  b.append(item)        48.19176080400939

Мы видим, что старый победитель по-прежнему выходит сверху, но на самом деле не на огромную сумму, учитывая повышенную читаемость подхода Python3 list.copy().

Обратите внимание, что эти методы делают not выводными эквивалентными результатами для любого ввода, отличного от списков. Все они работают для разрезаемых объектов, некоторые работы для любого итерабельного, но только copy.copy() работает для любого объекта Python.


Вот код тестирования для заинтересованных сторон ( Шаблон отсюда ):

import timeit

COUNT = 50000000
print("Array duplicating. Tests run", COUNT, "times")
setup = 'a = [0,1,2,3,4,5,6,7,8,9]; import copy'

print("b = list(a)\t\t", timeit.timeit(stmt='b = list(a)', setup=setup, number=COUNT))
print("b = copy.copy(a)\t\t", timeit.timeit(stmt='b = copy.copy(a)', setup=setup, number=COUNT))
print("b = a.copy()\t\t", timeit.timeit(stmt='b = a.copy()', setup=setup, number=COUNT))
print("b = a[:]\t\t", timeit.timeit(stmt='b = a[:]', setup=setup, number=COUNT))
print("b = a[0:len(a)]\t", timeit.timeit(stmt='b = a[0:len(a)]', setup=setup, number=COUNT))
print("*b, = a\t", timeit.timeit(stmt='*b, = a', setup=setup, number=COUNT))
print("b = []; b.extend(a)\t", timeit.timeit(stmt='b = []; b.extend(a)', setup=setup, number=COUNT))
print("b = []\nfor item in a: b.append(item)\t", timeit.timeit(stmt='b = []\nfor item in a:  b.append(item)', setup=setup, number=COUNT))
print("b = [i for i in a]\t", timeit.timeit(stmt='b = [i for i in a]', setup=setup, number=COUNT))

1
задан thavasidurai 15 July 2014 в 12:27
поделиться

3 ответа

Нет примерного проекта для расширенного текста, доступного на веб-сайте iOS Dev. Однако, если вам нравится реализация UITextView, существует несколько альтернатив с открытым исходным кодом, таких как iOS-Rich-Text-Editor и FastTextView.

iOS-Rich-Text-Editor RichTextEditor для iPhone & amp; iPad, который поддерживает дополнительные нагрузки, такие как Bold, Italic, Underline, StrikeThrough, Font, Parent Indent / Outdent и т. д. Проверьте пример использования UITExtview.

FastTextView EGOTextView является полным замените UITextView, что добавляет поддержку Rich Text Editing.

0
ответ дан Shams Ahmed 21 August 2018 в 15:18
поделиться

Apple использовала образец проекта CoreText , и когда TextKit запущен, у них также был образец проекта. Вы не можете искать их через обычную библиотеку документов, которая вам нужна для использования устаревшей библиотеки

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

Также прочитайте руководство по программированию текста .

0
ответ дан ethyreal 21 August 2018 в 15:18
поделиться

Вы должны прочитать SECORETextView, поддерживаемый почти выше, также выбрать, скопировать, вставить https://github.com/kishikawakatsumi/SECoreTextView

0
ответ дан Hoang Van Ha 21 August 2018 в 15:18
поделиться
Другие вопросы по тегам:

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