Граница кнопки «Подтип виджета PDFKit iOS Swift»

DOM реализована как независимая от языка библиотека практически во всех основных реализациях браузера, а это означает, что она находится в другой библиотеке от механизма Javascript. Например, в IE механизм JS реализован в jscript.dll, а DOM реализован в mshtml.dll. Safari имеет Nitro (JS) и WebCore (DOM). У Chrome есть V8 (JS) и WebCore (DOM), а у Firefox есть SpiderMonkey / TraceMonkey (JS) и Gecko (DOM).

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

Ссылки

0
задан Chris Davis 28 February 2019 в 04:03
поделиться

1 ответ

ОТВЕТ

Моим решением этой проблемы было создание моего собственного подкласса PDFAnnotation.

var isChecked = false

init(forBounds bounds: CGRect, withProperties properties: [AnyHashable : Any]?)

override func draw(with box: PDFDisplayBox, in context: CGContext)

Я использовал свойство isChecked внутри функции рисования. Если свойство было включено, тогда я отображал изображение галочки, которое нашел на Icons8. Мне также пришлось добавить PDFAnnotationHitObserver в мой ViewController и обработать обновление свойства isChecked.

0
ответ дан Chris Davis 28 February 2019 в 04:03
поделиться
Другие вопросы по тегам:

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