Ios 如何在UIView()中添加按钮
所以我有Ios 如何在UIView()中添加按钮,ios,swift,Ios,Swift,所以我有 let verticalViewOne = UIView() 我想将以下按钮添加到此视图中 /* Station */ DRN1Button.tintColor = .systemPink DRN1Button.frame.size = CGSize(width: 200.0, height: 200.0) DRN1Button.setImage(UIImage(named: "DRN1.jpg"), for: U
let verticalViewOne = UIView()
我想将以下按钮添加到此视图中
/* Station */
DRN1Button.tintColor = .systemPink
DRN1Button.frame.size = CGSize(width: 200.0, height: 200.0)
DRN1Button.setImage(UIImage(named: "DRN1.jpg"), for: UIControl.State(rawValue: UIControl.State.RawValue(play)))
//playButton.imageView?.contentMode = .scaleAspectFit
DRN1Button.contentVerticalAlignment = .fill
DRN1Button.contentHorizontalAlignment = .fill
DRN1Button.imageEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
DRN1Button.addTarget(self, action: #selector(playdrn1), for: .touchUpInside)
DRN1Button.translatesAutoresizingMaskIntoConstraints = false
// self.view.addSubview(playButton)
verticalStackView.addSubview(DRN1Button)
我的问题是我该怎么做
就像这个代码一样
verticalStackView.addSubview(DRN1Button)
导致应用程序崩溃的错误
注意:当verticalStackView在中设置时,该按钮为覆盖func viewDidLoad(){
func setupHierachy(){
view.addSubview(containerStackView)
view.addSubview(verticalStackView)
verticalStackView.addArrangedSubview(verticalViewOne)
//verticalStackView.addArrangedSubview(DRN1Button)
containerStackView.addArrangedSubview(verticalStackView)
}
我得到的错误是
Thread 1: Exception: "Unable to activate constraint with anchors <NSLayoutYAxisAnchor:0x281f52640 \"UIButton:0x10540ba90.centerY\"> and <NSLayoutYAxisAnchor:0x281f52680 \"UIView:0x10530ea40.centerY\"> because they have no common ancestor. Does the constraint or its anchors reference items in different view hierarchies? That's illegal."
首先,线路:
verticalStackView.addSubview(DRN1Button)
崩溃是因为您试图将子视图添加到stackView,您应该执行addArrangedSubview
对于坠机事件: 线程1:异常:“无法使用锚激活约束” 和 因为它们没有共同的祖先。约束或其 在不同的视图层次结构中锚定引用项?这是 非法。” 你已经有了
DRN1Button.centerYAnchor.constraint(equalTo: view.centerYAnchor)
您的
drn1按钮
与您的self.view
没有共同的祖先。这可能意味着您没有将drn1按钮
添加到视图中,或者很可能上面的行无法完成。虽然您的按钮位于堆栈视图中,但您正在将其中心视图
设置为与您的self.view
相同显示如何对按钮进行约束。@Mahendra添加了完整的代码。您仍然会遇到相同的崩溃吗?是的,我仍然会遇到错误。当我注释掉按钮时,错误不会发生
DRN1Button.centerYAnchor.constraint(equalTo: view.centerYAnchor)