Проблема в том, что _webView
сам имеет непрозрачность. Таким образом, даже если отображаемое содержимое содержит прозрачность, оно в основном отображается на фоне представления.
Я смог захватить изображение с прозрачностью , минимального HTML с таким встроенным стилем, как этот (извините за мои навыки HTML: P):
body {
background: rgba(0, 0, 0, 0);
}
Я подтвердил это на iOS 11+, просто установив свойство opaque
для веб-просмотра (обратите внимание, что я не установил цвет фона для веб-просмотра или встроенного прокрутки. Если у вас другие настройки, я думаю, вы следует также установить их, чтобы очистить цвет):
ObjC
_webView.opaque = NO;
Swift
webView.isOpaque = false
все остальное точно так же, как в вашей настройке (WKSnapshotConfiguration
/ takeSnapshot...
)