NSAttributedString
画像が埋め込まれたオブジェクトがあります。これらはNSTextView
sで提示されています。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
!ただし、すべての画像が上向きに表示されていますが、正しいサイズになっています。:(