一切正常,NSImageVIEw在调整窗口大小时与NSVIEw具有相同的大小.
但是,现在我已经添加了一个动画(从A移动到B)到NSImageVIEw,这将搞乱在IB中设置的约束.所以我必须以编程方式执行此 *** 作.
我怎样才能以编程方式设置NSLayoutConstraint让我的NSImageVIEw与我的NSImageVIEw(超级视图)具有相同的大小?
更新:
只是为了给你们一些更多信息.我的应用程序使用拆分视图(三个视图)而不是在IB中添加NSImageVIEw我现在以编程方式添加它.我将我的新视图(可以扩展到它的父视图)添加到拆分视图中的第三个视图.
您认为拆分视图是否会导致这些问题?
更新2:
好的,我更接近解决这个问题.我从视图中删除了NSImageVIEw,并添加了一个NSVIEw. NSVIEw缩放得很好,但是一旦我添加了NSImageVIEw,它就会停止工作,因为在调整窗口大小后NSImageVIEw将无法扩展.
换句话说,问题在于NSImageVIEw本身.调整窗口大小后它不会缩放…
解决了
我通过使用pdf VIEw而不是图像视图解决了它(这是我想要显示的pdf).我在pdf视图上将autoScales属性设置为YES.
解决方法 我假设您已经在下面的示例中引用了视图: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中的Autolayout NSImageView – 规模大小.以编程方式设置NSLayoutConstraint全部内容,希望文章能够帮你解决cocoa – NSView中的Autolayout NSImageView – 规模大小.以编程方式设置NSLayoutConstraint所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)