gpt4 book ai didi

cocoa - NSView 中的自动布局 NSImageView - 缩放大小。以编程方式设置 NSLayoutConstraint

转载 作者:行者123 更新时间:2023-12-03 16:14:09 28 4
gpt4 key购买 nike

我在IB中设置的NSView中有一个NSImageView。 NSImageView 与 NSView 的大小完全相同。

一切正常,调整窗口大小时 NSImageView 与 NSView 具有相同的大小。

但是,现在我已经向 NSImageView 添加了一个动画(从 A 移动到 B),这会弄乱 IB 中设置的约束。所以我必须以编程方式执行此操作。

如何以编程方式设置 NSLayoutConstraint 以使 NSImageView 与 NSImageView ( super View )具有相同的大小?

更新:

只是为了给大家提供更多信息。我的应用程序使用分割 View (三个 View ),我现在以编程方式添加它,而不是在 IB 中添加 NSImageView。我将新 View (应可扩展到其父 View )添加到 Split View中的第三个 View 。

您认为分割 View 导致了这些问题吗?

更新2:

好的,我已经快要解决这个问题了。我从 View 中删除了 NSImageView,并添加了一个 NSView。 NSView 缩放得很好,但是一旦我添加了 NSImageView,它就停止工作,因为调整窗口大小后 NSImageView 不会缩放。

换句话来说,问题出在NSImageView本身。调整窗口大小后它不会缩放...

已解决

我通过使用 PDF View 而不是 ImageView 解决了这个问题(这是我想显示的 PDF)。我在 PDF View 上将 autoScales 属性设置为 YES。

最佳答案

我假设您已经引用了以下示例中的 View :

NSView * parentView;
NSImageView * imageView;
[imageView setTranslatesAutoresizingMaskIntoConstraints:NO]; //Required to opt-in to autolayout
[parentView addSubview:imageView]; //Subview must exist before adding constraint.

NSDictionary * views = NSDictionaryOfVariableBindings(imageView);
[parentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[imageView]|"
options:0
metrics:nil
views:views]];
[parentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[imageView]|"
options:0
metrics:nil
views:views]];

关于cocoa - NSView 中的自动布局 NSImageView - 缩放大小。以编程方式设置 NSLayoutConstraint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15935851/

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