我的scrollView的内容总是像这样从左下角开始(但我希望它从左上角开始):
swift - 约束不适用于NSScrollViews documentView-LMLPHP
但是,当我添加更多对象时,它将得到修复,并且documentView将从底部展开,如下所示:
swift - 约束不适用于NSScrollViews documentView-LMLPHP
我将视图添加为NSScrollViews documentView,如下所示:

scrollingView.documentView = contentViewIB2

然后,我为documentView的top pin、left pin、height和width添加所需的约束,如下所示:
    topConstraint = NSLayoutConstraint(
        item: contentViewIB2
        , attribute: NSLayoutAttribute.Top
        , relatedBy: .Equal
        , toItem: contentViewIB2.superview
        , attribute: NSLayoutAttribute.Top
        , multiplier: 1.0
        , constant: 0)

    leftConstraint = NSLayoutConstraint(
        item: contentViewIB2
        , attribute: NSLayoutAttribute.Left
        , relatedBy: .Equal
        , toItem: contentViewIB2.superview
        , attribute: NSLayoutAttribute.Left
        , multiplier: 1.0
        , constant: 0)

我在向contentViewIB2添加对象时调整其宽度和高度。

最佳答案

由于documentView似乎从左上角开始,因此必须翻转其坐标系。
您可以通过如下子类化NSView来翻转它:

class FlippedView: NSView {
    override var flipped:Bool {
        get {
            return true
        }
    }
}

然后将其分配给contentViewIB2:
Var contentViewIB2 : FlippedView

银行代码4.2
重写变量已重命名为“isFlipped”。其他一切都很好。
class FlippedView: NSView {
    override var isFlipped:Bool {
        get {
            return true
        }
    }
}

08-18 09:24