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

标签 cocoa autolayout nslayoutconstraint

我在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/

相关文章:

cocoa - CIImage : How to use CIAffineTransform?

ios - 如何在一行代码中向我的 iOS View 添加多个 subview ? (也许通过 "monkeypatching"一个 `addSubviews` 实例方法到 UIView?)

ios - 在 IOS 中使用约束将 UIView 中的 subview 居中

ios - 无法将 UITableView 限制到安全区域

ios - 如何在 Swift 中检索约束常量的值?

ios - viewDidLayoutSubviews中的UIImageView宽度是1000?

objective-c - 使用 viewDid/WillMoveToSuperview 设置 NSView

xcode - cocoa -Applescript : Placing a GUI in an applescript

ios - 如何在横向旋转中使用自动布局调整 UIPickerView/UIDatePickerView 的高度?

ios - NSLayoutConstraints 可以用十进制常量渲染吗?