Cocoa 当autolayout处于活动状态时,如何更改NSView的大小?

Cocoa 当autolayout处于活动状态时,如何更改NSView的大小?,cocoa,resize,nsview,autolayout,Cocoa,Resize,Nsview,Autolayout,我有一个NSViewController,带有一个在xib中定义的附加视图。一切都做得很好(至少我希望如此),这样当我更改视图的高度时,所有子视图都会保持正确的组织 我想以编程方式更改视图的高度。基本上,我的视图的一个子视图是NSTextView,当里面有很多文本时,我想放大视图 如果我更改视图的frame.size,由于我认为是自动布局,什么也不会发生 在这种情况下,是否有标准的方法来更改视图的高度(或宽度)? 编辑: 我给视图添加了一个约束:我“Pine”了它的高度。 然后,我将此约束添加

我有一个
NSViewController
,带有一个在
xib
中定义的附加视图。一切都做得很好(至少我希望如此),这样当我更改视图的高度时,所有子视图都会保持正确的组织

我想以编程方式更改视图的高度。基本上,我的视图的一个子视图是
NSTextView
,当里面有很多文本时,我想放大视图

如果我更改视图的
frame.size
,由于我认为是自动布局,什么也不会发生

在这种情况下,是否有标准的方法来更改视图的高度(或宽度)?


编辑: 我给视图添加了一个约束:我“Pine”了它的
高度。
然后,我将此约束添加为
IBOutlet
属性。 因此,我可以更改约束的
.constant

  • 为视图创建新约束:“固定”其高度
  • 将此约束注册为
    IBOutlet
    属性
  • 您可以访问约束及其
    .constant
    值来更改视图的大小

  • 在更改
    .constant