我CNContactViewController
在 aNSTabViewController
和 a 中使用 a NSPopover
。在这两种情况下,ViewController 的尺寸都太小(参见屏幕截图中的红色)。
正如人们所期望的那样,其他选项卡使用所有可用空间。
我试图设置 ViewController 的框架,viewWillAppear
但这被忽略了:
override func viewWillAppear() {
for i in tabViewItems{
if let vc = i.viewController as? CNContactViewController{
vc.contact = CNContact.dummyContact()
vc.view.frame = view.frame
vc.view.layer?.backgroundColor = NSColor.red.cgColor
view.layer?.backgroundColor = NSColor.green.cgColor
}
}
}
在弹出窗口中,高度是相同的:
更新
启动应用程序时确实出现此错误,但是,我无权访问 上的约束ABRemotePersonView
,所以我不知所措。
[133:9106090] [布局] 检测到
<ABRemotePersonView: 0x6080001411e0>
. 无法放置,因为没有足够的约束来完全定义大小和原点。添加缺少的约束,否则translatesAutoresizingMaskIntoConstraints=YES
将为您生成集合和约束。如果此视图在macOS 10.12及更高版本上手动布局,您可以选择不[super layout]
从覆盖中调用。设置断点DETECTED_MISSING_CONSTRAINTS
进行调试。此错误只会记录一次。