macos – 使用自动布局时如何获得正确的帧原点?

使用Interface Builder我有一个带有多行NSTextField(标签)的NSView,并且在它下面是一个NSComboBox.由于标签的高度是动态的(例如,取决于所使用的平移),组合框的位置也是动态的(因为组合框的位置使用约束链接到标签).

我试图在自动布局后获得组合框的正确位置.这样做一定很容易,但由于某种原因,我无法让它发挥作用.我可以使用[NSView fittingSize]获取标签的大小调整大小,但[NSView框架]返回错误的Y位置(它只返回IB中使用的位置).所以我的问题基本上是如何在自动布局后重新定位框架?

仅供参考,我在覆盖的[NSView loadView]方法中请求frame属性.

谢谢你的帮助!

解决方法

NSView没有loadView方法.你的意思是NSViewController的loadView吗?如果是这样,我认为现在到达实际框架为时尚早.您可以尝试覆盖updateConstraints并在那里签入.在iOS中你可以在viewDidAppear中执行此操作: – 我不确定OS X的等价物是什么.另一种可能性是viewDidMoveToWindow.

相关文章

我正在用TitaniumDeveloper编写一个应用程序,它允许我使用Ja...
我的问题是当我尝试从UIWebView中调用我的AngularJS应用程序...
我想获取在我的Mac上运行的所有前台应用程序的应用程序图标....
我是一名PHP开发人员,我使用MVC模式和面向对象的代码.我真的...
OSX中的SetTimer在Windows中是否有任何等效功能?我正在使用...
我不确定引擎盖下到底发生了什么,但这是我的设置,示例代码和...