我在CNContactViewController
和NSTabViewController
中使用NSPopover
。在这两种情况下,ViewController的大小都太小(请参见屏幕截图中的红色)。
其他标签使用所有可用空间,就像人们期望的那样。
我尝试在viewWillAppear
上设置ViewController的框架,但忽略了这一点:
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
上设置断点以进行调试。此错误仅记录一次。