在什么时候自动布局约束应用于视图?

时间:2014-09-26 03:01:14

标签: macos cocoa nsview nsautolayout

当自动布局约束被添加到视图并且视图已调整大小时,是否有任何委托或回调被调用?

在我的视图层次结构(NSStackView<--MyContainerView<--MyView)中,当我添加MyView时,我将其作为子视图添加到特殊ContainerViewController的视图中并对其应用约束 - 它应该填充由ContainerViewController的观点。

代码如下所示:

-(void)addView:(MyView*)view
{
   ContainerViewController *vc = [[ContainerViewController alloc] init];
   [vc addContentView: view]; // autolayout constraints are applied inside like "H:|[view]|" and "V:|[view]|"
   [self.stackView addView: vc.view];
}

但是,从addView返回后,视图的框架仍为 {0,0,0,0}
如何适当调整视图大小的时刻?

1 个答案:

答案 0 :(得分:0)

不太确定你之后的事情 -

但如果您希望在视图框架更改时获得通知,您可以收听NSViewBoundsDidChangeNotification

NSView Notifications

请务必阅读有关如何控制此通知的启用的评论。