NSView是否有类似于UIView的setNeedsLayout/layoutSubviews方法的东西?

Wil*_*sch 28 macos layout cocoa nsview

我把这些东西放进显示方法吗?还是有类似的东西?

Dom*_*old 13

类似的layoutSubviewsresizeSubviewsWithOldSize:方法NSView.我猜,类似于直接setNeedsLayout打电话resizeSubviewsWithOldSize:[self frame].size.


Coc*_*ics 13

从OSX 10.7开始:

  • (void)布局等同于layoutSubviews

现在有一个相同的setNeedsLayout.

如果您的自定义视图需要使用基于约束的布局系统执行不可表达的自定义布局,请覆盖此方法.在这种情况下,您负责调用setNeedsLayout:当影响您的自定义布局的内容发生更改时.

作为布局阶段的一部分,您不能使任何约束无效,也不会使超级视图的布局或视图层次结构之外的视图无效.您也可以不作为布局的一部分调用绘图传递.

您必须将[超级布局]作为实施的一部分.

  • 这仅适用于基于约束的布局(也称为"自动布局") (4认同)