gpt4 book ai didi

macos - NSImageView 图像纵横比填充?

转载 作者:行者123 更新时间:2023-12-03 14:31:17 33 4
gpt4 key购买 nike

所以我习惯了UIImageView ,并能够设置其图像在其中显示的不同方式。例如 AspectFill模式等...

我想使用 NSImageView 完成同样的事情在 Mac 应用程序上。是否NSImageView工作方式类似于 UIImageView在这方面或者我将如何在 NSImageView 中显示图像并选择不同的方式来显示该图像?

最佳答案

您可能会发现子类化更容易 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,你会得到一个默认的支持层)。

你可以有一个 setImage简单地更新图层内容的方法。

关于macos - NSImageView 图像纵横比填充?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23002653/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com