UIButton状态图像未在layoutIfNeeded上更新

时间:2019-01-02 11:49:22

标签: ios swift autolayout nslayoutconstraint

在某些情况下,如果按钮处于打开状态,则显示其他视图,显示其他视图。
因此,我需要根据按钮的状态更改来更新约束。 我拍摄了两个图像,分别为正常状态和选定状态的switchOff和switchOn。
但是在选择UIButton时未显示所选状态图像。 这是我的相同代码。

@IBOutlet var switchMultiplePrice: UIButton!
...
@IBAction func btnMultiplePriceSelected(_ sender: UIButton) {
    let isSelected = switchMultiplePrice.isSelected
    switchMultiplePrice.isSelected = !isSelected
    constMultiplePriceViewBottom.isActive = isSelected
    constSinglePriceViewBottom.isActive = !isSelected
    constGuidePriceViewHeight.constant = isSelected ? 46.0 : 0.0
    UIView.animate(withDuration: 0.3) {
        self.singlePriceView.isHidden = isSelected
        self.multiplePriceView.isHidden = !isSelected
        self.view.layoutIfNeeded()
    }
}

但是没有出现所选的状态图像。如果我在行下方评论,则UIButton的图像非常适合所选状态和正常状态。

self.view.layoutIfNeeded()

我知道如果我评论上一行,那么我的约束将不会更新。 在这种情况下我该怎么办。

请帮助我解决这个问题。

0 个答案:

没有答案