2

NSAttributedString画像が埋め込まれたオブジェクトがあります。これらはNSTextViewsで提示されています。iOS では、 の境界のサイズを変更できましたNSTextAttachment。これにより、画像が収まります。

extension NSTextAttachment {
    func setImageWidth(width: CGFloat, range: NSRange) {
        var thisImage = image
        if thisImage == nil {
            thisImage = imageForBounds(bounds, textContainer: nil, characterIndex: range.location)
        }
        if thisImage != nil {
            let ratio = thisImage!.size.height / thisImage!.size.width
            bounds = CGRectMake(bounds.origin.x, bounds.origin.y, width, ratio * width)
            print("New Bounds: \(bounds)")
        }
    }
}

このコードは OSX でも動作しますが、実際には画像のサイズを変更しません。以下に示すように、画像の周りに正しいサイズのボックスがありますが、実際の画像はボックスからはみ出しています。

ここに画像の説明を入力

また、次のガイドに従っています: OS X および iOS で画像を使用してリッチ テキストを実装する。これにより、コードがサブクラスに移動されますが、効果は同じです。

助言がありますか?他NSTextAttachment.boundsに調整すべきことはありますか?

アップデート

size作品のコンポーネントを変更することがわかりましたNSImage!ただし、すべての画像が上向きに表示されていますが、正しいサイズになっています。:(

4

1 に答える 1