我在Cocoa + Swift中混淆故事板和编码自动布局时遇到了麻烦。它可能是对的吗?
我开始使用故事板中定义的NSTabViewController,默认设置被拖出工具箱。我通过代码添加了NSTextField视图。我添加了锚点。除了底部锚点之外,一切都按预期工作。
添加底部锚点后,窗口和控制器似乎会折叠到NSTextField的大小。我期望相反,文本字段被拉伸以填充窗口的高度。
我做错了什么?文字框架可能吗?或者我没有设置的一些选项标志?
class NSTabViewController : WSTabViewController {
var summaryView : NSTextField
required init?(coder: NSCoder) {
summaryView = NSTextField(frame: NSMakeRect(20,20,200,40))
summaryView.font = NSFont(name: "Menlo", size: 9)
super.init(coder: coder)
}
override func viewDidLoad() {
self.view.addSubview(summaryView)
summaryView.translatesAutoresizingMaskIntoConstraints = false
summaryView.topAnchor.constraintEqualToAnchor(self.view.topAnchor, constant: 5).active = true
summaryView.leftAnchor.constraintEqualToAnchor(self.view.leftAnchor, constant: 5).active = true
summaryView.rightAnchor.constraintEqualToAnchor(self.view.rightAnchor, constant: -5).active = true
summaryView.bottomAnchor.constraintEqualToAnchor(self.view.bottomAnchor, constant: -5).active = true
}
答案 0 :(得分:0)
为防止窗口折叠设置较低的拥抱优先级:
summaryView.setContentHuggingPriority(249, forOrientation: .Vertical)
但是你实际上误用了标签视图控制器。它只管理常用的视图...同时将文本添加到选项卡标题区域。有一个非常好的教程如何正确使用它:https://www.youtube.com/watch?v=TS4H3WvIwpY