【发布时间】:2013-04-02 21:14:08
【问题描述】:
我在 IB 中设置的 NSView 中有一个 NSImageView。 NSImageView 的大小与 NSView 完全相同。
一切正常,调整窗口大小时 NSImageView 的大小与 NSView 相同。
但是,现在我已经向 NSImageView 添加了一个动画(从 A 移动到 B),这会弄乱在 IB 中设置的约束。所以我必须以编程方式执行此操作。
如何以编程方式设置 NSLayoutConstraint 以使我的 NSImageView 与我的 NSImageView(超级视图)具有相同的大小?
更新:
只是为了给你们一些更多的信息。我的应用程序使用拆分视图(三个视图),而不是在 IB 中添加 NSImageView,我现在以编程方式添加它。我将我的新视图(应可扩展到它的父视图)添加到拆分视图中的第三个视图。
您认为拆分视图会导致这些问题吗?
更新 2:
好的,我更接近解决这个问题了。我从视图中删除了 NSImageView,并添加了一个 NSView。 NSView 可以正常缩放,但是一旦我添加了 NSImageView,它就会停止工作,因为 NSImageView 在调整窗口大小后不会缩放。
换句话说,问题出在 NSImageView 本身。调整窗口大小后它不会缩放...
已解决
我通过使用 PDF 视图而不是图像视图解决了这个问题(这是我想展示的 PDF)。我在 PDF 视图上将 autoScales 属性设置为 YES。
【问题讨论】:
-
使用 Fruity Geek 给出的约束,您的程序应该可以工作。您确定没有其他由 IB 自动添加的约束吗?
-
奇怪...我已经更新添加了一些信息到我的问题。仍然无法正常工作。
标签: cocoa autolayout nslayoutconstraint