Crop UIView Снимок - PullRequest
       4

Crop UIView Снимок

0 голосов
/ 13 ноября 2018

Я реализую пользовательский переход UINavigationViewController, и как часть анимации я хочу сделать снимок и преобразовать целевой UIViewController.Однако я хочу нарезать снимок и преобразовать части независимо.

В UIView.h есть комментарий, который, кажется, указывает на то, что это возможно и даже рекомендуется:

Созданиеподдерживаются снимки из существующих снимков (как метод для дублирования, обрезки или создания варианта с изменяемым размером).В случаях, когда требуется много снимков, создание снимка из общего суперпредставления и создание из него последующих снимков может быть более производительным.

Однако я не могу понять, как на самом деле сделать обрезку или создать несколькоснимки из общего снимка суперпредставления.

Возможно ли это?

Примечание: я исследовал использование UIView.drawHierarchy(in:afterScreenUpdates:) для создания изображения, которое я могу обрезать позже, однако это не удается при переходе UINavigationController со следующей ошибкой:

Представление [Снимок] (0x140853600,MTKView) рисование с afterScreenUpdates: ДА внутри фиксации CoreAnimation не поддерживается.

1 Ответ

0 голосов
/ 14 ноября 2018

Благодаря KMT на форумах Apple я нашел решение:

UIView.resizableSnapshotView(from:afterScreenUpdates:withCapInsets:)

Переход в нужный прямоугольник обрезкии UIEdgeInsets.zero для вставок цоколя правильно создает обрезанный снимок.

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