Mac OS X使用带有视图控制器的自动布局,并允许调整窗口大小

斯科特

我试图添加一个视图来填充Mac OS X中的整个窗口,如下所示:

func viewDidLoad() {

    sparkView = NSView(frame: CGRectMake(0, 0, 600,400))

    self.view.addConstraint(NSLayoutConstraint(item: sparkView!, attribute: NSLayoutAttribute.Left, relatedBy: NSLayoutRelation.Equal, toItem: self.view, attribute: NSLayoutAttribute.Left, multiplier: 1, constant: 0))
        self.view.addConstraint(NSLayoutConstraint(item: sparkView!, attribute: NSLayoutAttribute.Right, relatedBy: NSLayoutRelation.Equal, toItem: self.view, attribute: NSLayoutAttribute.Right, multiplier: 1, constant: 0))
       self.view.addConstraint(NSLayoutConstraint(item: sparkView!, attribute: NSLayoutAttribute.Top, relatedBy: NSLayoutRelation.Equal, toItem: self.view, attribute: NSLayoutAttribute.Top, multiplier: 1, constant: 0))
    self.view.addConstraint(NSLayoutConstraint(item: sparkView!, attribute: NSLayoutAttribute.Bottom, relatedBy: NSLayoutRelation.Equal, toItem: self.view, attribute: NSLayoutAttribute.Bottom, multiplier: 1, constant: 0))
       sparkView?.contentCompressionResistancePriorityForOrientation(NSLayoutConstraintOrientation(rawValue: 499)!)

}

为什么这会限制窗口大小?如果我这样做,则无法使窗口变大。我想sparkView一直填满窗户。对于上下文,这是在情节提要中NSWindow内的视图控制器中创建的。

我尝试不设置sparkView的框架,但是窗口只是折叠了,根本没有高度。

肯·托马斯(Ken Thomases)

每当您以编程方式创建视图并想使用自动布局来放置它时,都需要将其translatesAutoresizingMaskIntoConstraints属性设置为false。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章