Swift: отображение данных HTML в метке не отображает правильное изображение - PullRequest
0 голосов
/ 25 февраля 2019

Swift: отображение данных HTML в метке не отображает правильное изображение

Есть ли какое-либо решение?

Заранее спасибо, любая помощь приветствуется.

До сих порЯ пытаюсь использовать NSAttributedString следующим образом, но таким образом, весь HTML-дисплей корректно, но масштаб изображения не корректен:

Используется ниже код:

extension NSAttributedString {
internal convenience init?(html: String) {

    let modifiedFont = String(format:"%@", html)

    guard let data = modifiedFont.data(using: String.Encoding.utf16, allowLossyConversion: false) else {
        // not sure which is more reliable: String.Encoding.utf16 or String.Encoding.unicode
        return nil
    }
    guard let attributedString = try? NSMutableAttributedString(data: data, options: [NSAttributedString.DocumentReadingOptionKey.documentType: NSAttributedString.DocumentType.html], documentAttributes: nil) else {
        return nil
    }

    self.init(attributedString: attributedString)
}

}

enter image description here

От сервера перейдите под HTML для отображения:

<h3><span style="color: #42a48e;">Description</span></h3>
<ul>
<li>Fully tool-less disconnection module with 45&deg; LSA contacts for connecting plastic-insulated copper conductors.</li>
<li>Silicone gel encapsulation gives excellent environmental protection, even in scenarios where the outdoor cabinet is subjected to flooding.</li>
<li>Complete range of accessories makes this an essential part of any FTTN architecture.</li>
</ul>
<h3><span style="color: #42a48e;">Installation Steps:</span></h3>
<ol>
<li>Hold the closed slider with two fingers and then pull the slider fully out until you feel and hear a "click"-sound.</li>
<li>Preparing the wire for installation: When cutting the wire make sure that the cutter is kept straight and don&lsquo;t bend the wire in any direction.</li>
<li>Insert the wire into the highlighted holes until the wire touched the bottom of the connector (about 8-10mm).</li>
<li>Insert the wire fully. Then keep holding/ guiding the wire in position while closing the slider with the second hand.</li>
<li>The slider is closed when you can hear a "click"-sound. Now the wire can be released.</li>
</ol>
<p><img style="max-width: 100%;" src="https://i.imgur.com/EFdLNOc.png" alt="LSA-TL Install Steps" width="100%" height="100%" /></p>

1 Ответ

0 голосов
/ 26 февраля 2019

Вы можете решить эту проблему, используя определенные max-width и max-height стиля изображения, см. Следующий код и изображение для этого.

Примечание: укажите изображение max-width и max-height в пикселях в размере%

<img style='max-width: \(self.view.frame.width - 50)px; max-height: \(self.view.frame.width - 50)px;' src='https://i.imgur.com/EFdLNOc.png' alt='LSA-TL Install Steps' width='100%' height='100%' />

enter image description here enter image description here

...