gpt4 book ai didi

objective-c - NSImageView 大小不遵循其窗口的大小

转载 作者:太空狗 更新时间:2023-10-30 03:53:22 25 4
gpt4 key购买 nike

我只是在玩 OSX 应用程序开发。我完全是菜鸟。我认为它像 iOS 应用程序开发一样简单明了。但是经过几天的努力,似乎并没有那么容易。

这就是我想要做的。我有一个 NSWindow。我在其中放置了一个 Image Well(带有命名?大声笑)Well“Image Well”,它是一个 NSImageView(没有双关语意)。

所以我只想让 NSImageView 的框架根据 NSWindow 的大小调整大小。就这么简单。

这是我所做的但不起作用:

NSImageView 作为 imageView。

编写NSWindow windowDidResize 和windowDidResize: 的委托(delegate)方法NSWindowDelegate 方法,并在其中调整 ImageView 的imageView frame 的framesize。代码:(NSImageView 在一个名为 imageView 的属性中。)

- (void)windowDidResize:(NSNotification *)notification {

// NSLog(@"resized");

NSRect zWindowRect = [[self window]frame];
NSRect zContentRect = [[self window]contentRectForFrameRect:zWindowRect];

[self.imageView setFrameSize:NSMakeSize(zContentRect.size.width,
zContentRect.size.height)];

[self.imageView setNeedsDisplay:YES];


}

这个方法被调用了(用 NSLog() 测试过),但是 NSImageView 只是保持原来的大小。我检查了 IBOutlet 连接是否正常。

什么给了?为什么 NSImageView 不调整大小?

最佳答案

好的。这正在成为一种习惯。再次回答我自己的问题。

似乎这种行为是由于 Interface Builder 的“自动布局”功能所致。

要修复它,只需在 MainMenu.xib 中禁用“自动布局”。 SEE HERE FOR EXPLANATIONS

如果站点过期:只需单击 MainMenu.xib,然后转到 XCode 实用程序面板中的第一个选项卡文件。它旁边应该有一个“使用自动布局”复选框。取消选中它。

关于objective-c - NSImageView 大小不遵循其窗口的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12883994/

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