画像をNSImageView
動的に表示する があります。画像を画像ビューの境界の垂直方向の中央に配置したいと思います。どうすればこれを達成できますか?私が書いたコードは理にかなっていると思いますが、NSImageAlignment は何の効果もないようです。
imageView = NSImageView()
let image = NSImage.init(byReferencingFile: "testimage.jpg")
imageView!.image = image
imageView!.frame = NSMakeRect(frameRect.origin.x, frameRect.origin.y, 180, 300)
imageView!.imageFrameStyle = NSImageFrameStyle.Photo
imageView!.imageScaling = NSImageScaling.ScaleProportionallyUpOrDown
imageView!.imageAlignment = NSImageAlignment.AlignCenter
これを理解しようとすると、NSImageViews にはサブビューがなく、その中に NSImageCells があり、UIImageViews がどのように機能するか分からないことがわかりました。NSImageView を中央に配置したくはありませんが、NSImageView内に NSCell を配置します。
hereの詳細に従って NSImageView をサブクラス化しようとしましたが、これを行うとスケーリングが失われます。
NSImageView内でNSImageCellを垂直方向に中央揃えするにはどうすればよいですか?