为什么添加约束会消除调整NSWindow大小的能力?

巴万

在此处输入图片说明

我要做的就是添加一个NSImageView,并在每次调整大小时使其填充Window。

但是,一旦添加了约束,窗口就会失去其调整大小的能力。

在此处输入图片说明

如果我加

view.translatesAutoresizingMaskIntoConstraints  = false

约束也被忽略。

在此处输入图片说明

有人可以指出我做错了什么吗?

可以从这里下载代码

保罗·帕特森

首先,您parentView是窗口的contentView我想不到有一次会干扰该视图的默认布局行为,因此我将删除该行parentView.translatesAutoresizingMaskIntoContraints = false

Secondly, by the looks of things you do want to take full responsibility for constraining the image view, so you for this view you should set translatesAutoresizingMaskIntoContraints to false.

Finally, in addition to the constraints you add, all NSView objects come with constraints that tell Auto Layout to what extent the view's content should effect how and whether it resizes. What's meant by content varies depending on the view, but in your case it's the NSImage object. In your code you're getting the default behaviour, which basically says don't allow any content compression - you need to change this:

imageView.setContentCompressionResistancePriority(249, forOrientation: NSLayoutConstraintOrientation.Horizontal)
imageView.setContentCompressionResistancePriority(249, forOrientation: NSLayoutConstraintOrientation.Vertical) 

确实,除非您有令人信服的理由,否则应该NSImageView在Interface Builder中进行设置Interface Builder不仅消除了行和行代码,还提供了实时调试帮助。例如,我通过注释掉所有代码并首先在Interface Builder中重做整个问题来回答了这个问题。当我选择图像视图时,就会出现橙色的虚线警告线,这是一个很明显的问题,即压缩问题,这很明显:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么在设置约束后无法再调整NSWindow的大小?

来自分类Dev

为什么此UISearchBar会重新调整大小?

来自分类Dev

为什么将JFrame调整大小后添加图像

来自分类Dev

为什么要调整PV的大小而不是添加新的PV?

来自分类Dev

调整浏览器大小时,为什么我的导航菜单会消失。我应该在Jquery中添加什么来防止这种情况?

来自分类Dev

为什么不能使用布局约束来调整画布的大小?

来自分类Dev

为什么在此 CRTP 基本函数调用中添加引用会消除错误?

来自分类Dev

为什么repaint()会导致与调整窗口大小不同的结果?(Java)

来自分类Dev

为什么我调整屏幕大小时CSS布局会不断破裂?

来自分类Dev

调整图表大小时,为什么水平条尺寸会跳?

来自分类Dev

为什么在SwiftUI中调整大小的PDF会产生锐利的边缘?

来自分类Dev

为什么调整浏览器大小时svg路径会移动?

来自分类Dev

为什么repaint()会导致与调整窗口大小不同的结果?(Java)

来自分类Dev

调整大小后,为什么单元格会向右移动?

来自分类Dev

iOS组件会自动调整大小,但我不知道在哪里以及为什么

来自分类Dev

为什么在使用 Chrome for Android 在画布中调整大小时图像会变得很暗?

来自分类Dev

为什么当浏览器重新调整大小时,这个菜单项会消失?

来自分类Dev

为什么我调整大小的 2D 矢量会重置我的数据

来自分类Dev

为什么向现有列添加可为空的默认约束会花费这么长时间?

来自分类Dev

为什么在添加单元格时表格视图中的单元格会调整大小?

来自分类Dev

为什么这个UISearchBar会被调整大小?

来自分类Dev

为什么按原样实施调整大小?

来自分类Dev

为什么不调整画布大小?

来自分类Dev

为什么不能调整NTFS分区的大小?

来自分类Dev

为什么JInterFrame不调整大小?

来自分类Dev

为什么srcset调整图像大小?

来自分类Dev

NSWindow调整大小时调整表列大小

来自分类Dev

调整NSWindow的大小而不显示调整大小的按钮

来自分类Dev

参考向量和调整大小的能力

Related 相关文章

  1. 1

    为什么在设置约束后无法再调整NSWindow的大小?

  2. 2

    为什么此UISearchBar会重新调整大小?

  3. 3

    为什么将JFrame调整大小后添加图像

  4. 4

    为什么要调整PV的大小而不是添加新的PV?

  5. 5

    调整浏览器大小时,为什么我的导航菜单会消失。我应该在Jquery中添加什么来防止这种情况?

  6. 6

    为什么不能使用布局约束来调整画布的大小?

  7. 7

    为什么在此 CRTP 基本函数调用中添加引用会消除错误?

  8. 8

    为什么repaint()会导致与调整窗口大小不同的结果?(Java)

  9. 9

    为什么我调整屏幕大小时CSS布局会不断破裂?

  10. 10

    调整图表大小时,为什么水平条尺寸会跳?

  11. 11

    为什么在SwiftUI中调整大小的PDF会产生锐利的边缘?

  12. 12

    为什么调整浏览器大小时svg路径会移动?

  13. 13

    为什么repaint()会导致与调整窗口大小不同的结果?(Java)

  14. 14

    调整大小后,为什么单元格会向右移动?

  15. 15

    iOS组件会自动调整大小,但我不知道在哪里以及为什么

  16. 16

    为什么在使用 Chrome for Android 在画布中调整大小时图像会变得很暗?

  17. 17

    为什么当浏览器重新调整大小时,这个菜单项会消失?

  18. 18

    为什么我调整大小的 2D 矢量会重置我的数据

  19. 19

    为什么向现有列添加可为空的默认约束会花费这么长时间?

  20. 20

    为什么在添加单元格时表格视图中的单元格会调整大小?

  21. 21

    为什么这个UISearchBar会被调整大小?

  22. 22

    为什么按原样实施调整大小?

  23. 23

    为什么不调整画布大小?

  24. 24

    为什么不能调整NTFS分区的大小?

  25. 25

    为什么JInterFrame不调整大小?

  26. 26

    为什么srcset调整图像大小?

  27. 27

    NSWindow调整大小时调整表列大小

  28. 28

    调整NSWindow的大小而不显示调整大小的按钮

  29. 29

    参考向量和调整大小的能力

热门标签

归档