代码之家  ›  专栏  ›  技术社区  ›  oddK

如何在swift中设置UIButton的高度锚?

  •  0
  • oddK  · 技术社区  · 4 年前

    我只使用代码来配置视图。
    所有视图都将translatesAutoresizingMaskIntoConstraints属性更改为false。
    但它并没有按照我想要的方式工作。
    高度锚 disagreeButton 很奇怪。

    contentView.addSubviews(datePickerView, dateSelectButton, triangleImageView, descriptionLabel, agreeButton, disagreeButton)
    
    datePickerViewHeight = datePickerView.heightAnchor.constraint(equalToConstant: 0)
    dateSelectButtonHeight = dateSelectButton.heightAnchor.constraint(equalToConstant: 36)
    
    NSLayoutConstraint.activate([
                datePickerView.topAnchor.constraint(equalTo: contentView.safeAreaLayoutGuide.topAnchor),
                datePickerView.leadingAnchor.constraint(equalTo: contentView.safeAreaLayoutGuide.leadingAnchor),
                datePickerView.trailingAnchor.constraint(equalTo: contentView.safeAreaLayoutGuide.trailingAnchor),
                datePickerViewHeight ?? NSLayoutConstraint(),
    
                dateSelectButton.topAnchor.constraint(equalTo: datePickerView.bottomAnchor),
                dateSelectButton.widthAnchor.constraint(equalToConstant: 76),
                dateSelectButton.centerXAnchor.constraint(equalTo: contentView.centerXAnchor),
                dateSelectButtonHeight ?? NSLayoutConstraint(),
    
                triangleImageView.widthAnchor.constraint(equalToConstant: 14),
                triangleImageView.heightAnchor.constraint(equalToConstant: 10),
                triangleImageView.leadingAnchor.constraint(equalTo: dateSelectButton.trailingAnchor, constant: 9),
                triangleImageView.centerYAnchor.constraint(equalTo: dateSelectButton.centerYAnchor),
    
                descriptionLabel.topAnchor.constraint(equalTo: dateSelectButton.bottomAnchor, constant: 16),
                descriptionLabel.centerXAnchor.constraint(equalTo: contentView.centerXAnchor),
    
                agreeButton.topAnchor.constraint(equalTo: descriptionLabel.bottomAnchor, constant: 32),
                agreeButton.leadingAnchor.constraint(equalTo: contentView.safeAreaLayoutGuide.leadingAnchor, constant: 24),
                agreeButton.trailingAnchor.constraint(equalTo: contentView.safeAreaLayoutGuide.trailingAnchor, constant: -24),
                agreeButton.heightAnchor.constraint(equalToConstant: 58),
    
                disagreeButton.topAnchor.constraint(equalTo: agreeButton.bottomAnchor, constant: 12),
                disagreeButton.leadingAnchor.constraint(equalTo: contentView.safeAreaLayoutGuide.leadingAnchor, constant: 24),
                disagreeButton.trailingAnchor.constraint(equalTo: contentView.safeAreaLayoutGuide.trailingAnchor, constant: -24),
                disagreeButton.heightAnchor.constraint(equalToConstant: 58),
                disagreeButton.bottomAnchor.constraint(equalTo: contentView.safeAreaLayoutGuide.bottomAnchor, constant: -50)
    ])
    

    see storyboard debuging screen shot

    我做错了什么?

    0 回复  |  直到 4 年前