使用Swift设置NSSplitViewController窗格的宽度

Cli*_*rum 4 macos nssplitview nssplitviewcontroller

Xcode 8.2.1,Swift 3.0.2,macOS 10.12

我有一个NSSplitViewController有3个窗格(请注意NS;这是一个Mac应用程序).

我正在尝试将最左侧的窗格设置为始终具有固定宽度,而不是可调整大小.我尝试过以下方法:

  • 出于某种原因,在窗格的子视图的Storyboard编辑器中无法使用自动布局约束.
  • 设置constrainMaxCoordinateconstrainMinCoordinate没有奏效.

有没有其他人最近上班?有很多关于这个主题的文章,但他们的工具集已有几年的历史了,他们的建议都没有对我有用.谢谢!

在此输入图像描述

Cli*_*rum 8

我终于想通了.我必须以编程方式设置自动布局约束.上设置的约束NSSplitViewItem不可用故事板编辑器(Xcode的8.1).

我是这样做的:

//This is my SplitViewController subclass
class MainSplitVC: NSSplitViewController {

  //Outlet to the menu pane
  @IBOutlet weak var menuPane: NSSplitViewItem!

  override func viewDidLoad() {
    super.viewDidLoad()

    //Hard-code the width of the menu pane
    NSLayoutConstraint(item: menuPane.viewController.view, attribute: NSLayoutAttribute.width, relatedBy: NSLayoutRelation.equal, toItem: nil, attribute: NSLayoutAttribute.notAnAttribute, multiplier: 1, constant: 80).isActive = true
  }
}
Run Code Online (Sandbox Code Playgroud)

我希望能帮到别人.