我有一个加载外部XIB的自定义视图。
此XIB的设计如下:具有3个<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="xxxxxx@mail.com">
<network host="smtp.xxxxx.com" userName="xxxxxx@mail.com" password="******" port="25" enableSsl="true" />
</smtp>
</mailSettings>
的垂直堆栈视图。
我有以下限制条件:
在情节提要中,我创建以下结构:
包含3个水平堆栈的垂直堆栈。
赞:
这些正方形中的每个正方形都是从XIB加载的视图之一。
我对主堆栈有以下限制:
我在课堂上有这段代码,用于加载XIB
func loadViewFromNib(){
NSTextFields
}
如果我只是运行应用程序,它将呈现如下:
如果我尝试通过在var topLevelArray : NSArray?
let bundle = Bundle(for: type(of: self))
let nib = NSNib(nibNamed: .init(String(describing: type(of: self))), bundle: bundle)!
nib.instantiate(withOwner: self, topLevelObjects: &topLevelArray)
let myView = topLevelArray?.first(where: { $0 is NSView }) as? NSView
self.view = myView!
self.addSubview(myView!)
的末尾添加这些行来居中,
loadViewFromNib
我明白了:
myView!.centerXAnchor.constraint(equalTo: self.centerXAnchor).isActive = true
myView!.centerYAnchor.constraint(equalTo: self.centerYAnchor).isActive = true
是XIB的超级视图。在那里包含3个文本视图的堆栈。
有什么想法吗?