Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 未应用自定义UIView约束_Ios_Swift_Uiview_Constraints - Fatal编程技术网

Ios 未应用自定义UIView约束

Ios 未应用自定义UIView约束,ios,swift,uiview,constraints,Ios,Swift,Uiview,Constraints,我有以下自定义UIView: import UIKit class CustomView: UIView { // container view lazy var contView: UIView = { let cv = UIView() cv.backgroundColor = .gray cv.translatesAutoresizingMaskIntoConstraints = false cv.layer.cornerRadius =

我有以下自定义UIView:

import UIKit

class CustomView: UIView {

// container view
lazy var contView: UIView = {
    let cv = UIView()

    cv.backgroundColor = .gray      
    cv.translatesAutoresizingMaskIntoConstraints = false
    cv.layer.cornerRadius = 5     
    cv.layer.masksToBounds = true  
    cv.isUserInteractionEnabled = true

    return cv
}()

lazy var t: UIImageView = {
    let tt = UIImageView()

    tt.translatesAutoresizingMaskIntoConstraints = false
    tt.isUserInteractionEnabled = false
    tt.contentMode = .scaleAspectFill      

    tt.alpha = 0

    return tt
}()

let img: UIImageView = {
    let image = UIImageView()

    image.backgroundColor = .yellow       
    image.translatesAutoresizingMaskIntoConstraints = false
    image.contentMode = .scaleAspectFill        

    return image
}()

let ny: UITextView = {
    let info = UITextView()

    info.translatesAutoresizingMaskIntoConstraints = false
    info.backgroundColor = .blue
    info.text = "Some, Text"        
    info.textColor = .white

    return info
}()

func setupContView() {

    contView.addSubview(img)
    contView.addSubview(ny)
    img.addSubview(t)

    // UIViewAlertForUnsatisfiableConstraints error
    contView.widthAnchor.constraint(equalTo: self.widthAnchor, constant: -24).isActive = true
    contView.heightAnchor.constraint(equalTo: self.heightAnchor, constant: -200).isActive = true
    contView.centerXAnchor.constraint(equalTo: self.centerXAnchor).isActive = true
    contView.centerYAnchor.constraint(equalTo: self.centerYAnchor).isActive = true


    t.centerXAnchor.constraint(equalTo: img.centerXAnchor).isActive = true
    t.centerYAnchor.constraint(equalTo: img.centerYAnchor).isActive = true

    img.centerXAnchor.constraint(equalTo: contView.centerXAnchor).isActive = true
    img.centerYAnchor.constraint(equalTo: contView.centerYAnchor).isActive = true
    img.widthAnchor.constraint(equalTo: contView.widthAnchor).isActive = true
    img.heightAnchor.constraint(equalTo: contView.heightAnchor).isActive = true

    ny.leftAnchor.constraint(equalTo: contView.leftAnchor).isActive = true
    ny.rightAnchor.constraint(equalTo: contView.rightAnchor).isActive = true
    ny.bottomAnchor.constraint(equalTo: contView.bottomAnchor).isActive = true
    ny.heightAnchor.constraint(equalToConstant: 50).isActive = true

}

override init(frame: CGRect) {
    super.init(frame: frame)

    addSubview(contView)

    setupContView()
}

required init?(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}
}
当我尝试在我的视图控制器中创建对这个
CustomView
对象的引用时,就像这样

var myCustomView = CustomView()
。。。不会应用任何约束,也不会显示任何内容。当我尝试在视图控制器中添加约束或将
CustomView
添加到中心
myCustomView
时,我会得到
unsatifiableconstraints
错误。当我在视图控制器中为它们添加颜色时,它们就会出现,但我已经在自定义UIView类中这样做了,所以它是多余的,并且会覆盖我所做的


我该怎么办?我希望能够创建自定义类的对象,并使它们看起来都一样,但是,我在
CustomView
类中创建的约束或自定义视图似乎没有任何作用。

我认为您需要为
t
设置
contView
约束,并且您还需要为
contView
设置约束,我认为您不需要
cv.layoutifneed()
在您的
contView
声明中,这样做会给我
UIViewAlertforUnsatifiableConstraints
,就像我说的那样。那又怎样?请解释一下。我给出了三个建议,您尝试删除了
cv.layoutifneed()
并添加了
cardView.widthAnchor.constraint(equalTo:self.widthAnchor,常量:-24)。isActive=true
这会产生错误请应用其他建议,然后我认为您的代码会工作,对
t
contView
应用约束我认为您需要对
t
设置
height
width
约束,并且您还需要为
contView
设置约束,我认为您不需要
cv.layoutifneed()
在您的
contView
声明中,这样做会给我
UIViewAlertforUnsatifiableConstraints
,就像我说的那样。那又怎样?请解释一下。我给出了三个建议,您尝试删除了
cv.layoutifneed()
并添加了
cardView.widthAnchor.constraint(equalTo:self.widthAnchor,常量:-24)。isActive=true
这会产生错误请应用其他建议,然后我认为您的代码会工作,对
t
contView