UIView没有在swift中以程序方式显示在UIViewcollection中

时间:2018-03-16 16:57:28

标签: ios swift

下面的代码是viewController,它使用之前的tableViewController中的navigationItem [[[-4.60817486e-01 -3.75553429e-01 -8.64749104e-02 ... -1.25204027e-03 -1.03347138e-01 -3.74164522e-01] 进行导航,我试图在我的viewController中生成一个UIView。但是没有任何表现。

navigationItem.leftBarButtonItem = UIBarButtonItem(title:

应用程序运行良好但是在到达视图控制器后,没有显示任何内容,只有灰色屏幕。 为什么会发生这种情况,我该如何解决?

2 个答案:

答案 0 :(得分:0)

您的问题是,您的约束只是为您正在创建的x设置yUIView位置。您遗失了widthheight

尝试这种约束:

    inputContainerView.centerXAnchor.constraint(equalTo: self.view.centerXAnchor).isActive = true
    inputContainerView.centerYAnchor.constraint(equalTo: self.view.centerYAnchor).isActive = true
    inputContainerView.widthAnchor.constraint(equalToConstant: 100).isActive = true
    inputContainerView.heightAnchor.constraint(equalToConstant: 100).isActive = true

此代码表示您的UIView将在self.view中垂直和水平居中,并且其widthheight为100.它将如下所示:

enter image description here

希望它有所帮助。快乐编码

答案 1 :(得分:0)

您已添加约束以将inputContainerView放置到屏幕的中心,但没有为其高度和宽度添加约束。添加以下代码可能会解决您的问题:

    inputContainerView.centerXAnchor.constraint(equalTo: self.view.centerXAnchor, constant: 0).isActive = true
    inputContainerView.centerYAnchor.constraint(equalTo: self.view.centerYAnchor, constant: 0).isActive = true
    inputContainerView.addConstraint(NSLayoutConstraint(item: inputContainerView, attribute: .height, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1, constant: 200))
    inputContainerView.addConstraint(NSLayoutConstraint(item: inputContainerView, attribute: .width, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1, constant: 200))

请检查:https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/ProgrammaticallyCreatingConstraints.html

确保CenterXAnchor和CenterYAnchor的常量为0,因此视图在中心对齐。并确保只将inputContainerView作为插座或以编程方式添加一次。