【问题标题】:NSViewController story board with coded anchors collapses window带有编码锚的 NSViewController 故事板折叠窗口
【发布时间】:2016-09-07 14:29:18
【问题描述】:

我无法在 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
}

【问题讨论】:

    标签: swift cocoa autolayout


    【解决方案1】:

    为防止窗口折叠设置较低的拥抱优先级:

     summaryView.setContentHuggingPriority(249, forOrientation: .Vertical)
    

    但您实际上滥用了选项卡视图控制器。它只是管理常用的视图......当您将文本添加到选项卡标题区域时。有一个很好的如何正确使用的教程:https://www.youtube.com/watch?v=TS4H3WvIwpY

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-07
      • 1970-01-01
      • 2021-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多