我的scrollView的内容总是从左下角开始(但我希望它从左上角开始): 但是当我添加更多对象时,它会得到修复,而documentView会从底部扩展,如下所示:
我添加一个视图作为NSScrollViews documentView,如下所示:
scrollingView.documentView = contentViewIB2
然后我为documentView的顶针,左针,高度和宽度添加所需的约束,如下所示:
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的宽度和高度。
答案 0 :(得分:2)
由于documentView从左上角开始,因此必须翻转其坐标系。 您可以通过子类化NSView来翻转它:
class FlippedView: NSView {
override var flipped:Bool {
get {
return true
}
}
}
然后将其分配给contentViewIB2:
Var contentViewIB2 : FlippedView
Swift 4.2
覆盖变量已重命名为' isFlipped'。其他一切都很棒。
class FlippedView: NSView {
override var isFlipped:Bool {
get {
return true
}
}
}