首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法以编程方式填充superview

无法以编程方式填充superview
EN

Stack Overflow用户
提问于 2014-12-29 15:20:59
回答 1查看 761关注 0票数 0

我将尝试使subview的大小与其superview相同。

代码语言:javascript
复制
override func viewDidLayoutSubviews() {
    subView.setTranslatesAutoresizingMaskIntoConstraints(true)
    let viewsDictionary = ["subView": subView]

    view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|[subView]|", options: nil, metrics: nil, views: viewsDictionary))
    view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|[subView]|", options: nil, metrics: nil, views: viewsDictionary))
}

我做错了什么?

=========================

更新!

代码语言:javascript
复制
subView.setTranslatesAutoresizingMaskIntoConstraints(false)
        let viewsDictionary = ["subView": subView]

        view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|-0.0-[subView]-0.0-|", options: nil, metrics: nil, views: viewsDictionary))
        view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|-0.0-[subView]-0.0-|", options: nil, metrics: nil, views: viewsDictionary))
    }

但没有效果=(

经常这样!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-29 15:24:42

两个错误(至少)。第一:

代码语言:javascript
复制
subView.setTranslatesAutoresizingMaskIntoConstraints(true)

那应该是false,而不是true

第二:您不想简单地在viewDidLayoutSubviews中这样做,因为该方法在应用程序的生命周期中会被多次调用,而且每次都会无条件地添加新的约束。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27691501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档