NSImageView图像填充模式
NSImageView图像填充模式
可以使用这个:图像将强制填充视图大小
(Aspect Fill)
imageView.imageScaling = .scaleAxesIndependently
(Aspect Fit)
imageView.imageScaling = .scaleProportionallyUpOrDown
(中心顶部)
imageView.imageScaling = .scaleProportionallyDown
您可能会发现子类更容易 NSView
并提供一个 CALayer
方面为您填充的内容。以下是 init
此 NSView
子类的可能外观。
- (id)initWithFrame:(NSRect)frame andImage:(NSImage*)image {
self = [super initWithFrame:frame];
if (self) {
self.layer = [[CALayer alloc] init];
self.layer.contentsGravity = kCAGravityResizeAspectFill;
self.layer.contents = image;
self.wantsLayer = YES;
}
return self;
}
请注意,设置图层的顺序,然后设置 wantsLayer
非常重要
(如果先设置wantsLayer,则会获得默认的背衬层)。
您可以使用一种 setImage
方法来简单地更新图层的内容。
Link:(NSImageView图像方面填充?)[https://xbuba.com/questions/23002653]