Xcode 如何在代码中设置独占约束的视图框架

Xcode 如何在代码中设置独占约束的视图框架,xcode,constraints,autolayout,Xcode,Constraints,Autolayout,我想我已经读过,在代码中创建和约束视图时,可以使用[NSView-init]而不是指定的初始化器[NSView-initWithFrame:。我认为这是正确的,并开始相应地构造我的界面:所有视图都完全受约束,但没有一个具有显式框架矩形。一切似乎都很顺利,我猜在引擎盖下,科科做了所有必要的帧设置计算。然后我尝试在我的一个视图中添加一个跟踪区域;它失败了,调试后我意识到这是因为我的视图既没有框架也没有边界 在代码中创建/约束时应避免使用[NSView-initWithFrame::的建议是否不正确?

我想我已经读过,在代码中创建和约束视图时,可以使用
[NSView-init]
而不是指定的初始化器
[NSView-initWithFrame:
。我认为这是正确的,并开始相应地构造我的界面:所有视图都完全受约束,但没有一个具有显式框架矩形。一切似乎都很顺利,我猜在引擎盖下,科科做了所有必要的帧设置计算。然后我尝试在我的一个视图中添加一个
跟踪区域
;它失败了,调试后我意识到这是因为我的视图既没有框架也没有边界

在代码中创建/约束时应避免使用
[NSView-initWithFrame::
的建议是否不正确?或者,它们是使cocoa根据视图的约束生成视图框架的一种方法?我可以在代码中添加约束,但我希望避免推导视图的所有帧矩形