Swift 约束不';无法为NSScrollView documentView正常工作
我的scrollView的内容总是从左下角开始,如下所示(但我希望它从左上角开始): 但是,当我添加更多对象时,它会得到修复,documentView从其底部扩展如下: 我添加了一个视图作为NSScrollViews文档视图,如下所示:Swift 约束不';无法为NSScrollView documentView正常工作,swift,xcode,cocoa,Swift,Xcode,Cocoa,我的scrollView的内容总是从左下角开始,如下所示(但我希望它从左上角开始): 但是,当我添加更多对象时,它会得到修复,documentView从其底部扩展如下: 我添加了一个视图作为NSScrollViews文档视图,如下所示: scrollingView.documentView = contentViewIB2 然后,我为documentView的顶销、左销、高度和宽度添加所需的约束,如下所示: topConstraint = NSLayoutConstraint(
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)
class FlippedView: NSView {
override var flipped:Bool {
get {
return true
}
}
}
在向contentViewIB2添加对象时,我会调整其宽度和高度。由于documentView似乎从左上角开始,其坐标系必须翻转。 您可以通过如下子类化NSView来翻转它:
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)
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
}
}
}
documentView似乎从左上角开始,其坐标系必须翻转。 您可以通过如下子类化NSView来翻转它:
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)
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
}
}
}
这是我的项目,以防…:这是我的计划,以防万一()