两个按钮背景颜色都改变了

时间:2018-03-21 09:45:15

标签: ios swift uibutton

当我使用该功能时,该按钮无法正常工作。当我点击按钮时,按钮背景颜色将会改变,当我们点击另一个按钮时,按钮的背景颜色将会改变。请告诉我如何解决这个错误。

@IBAction func btnNew(_ sender: Any)
    {
        if otlNewVisitor.isSelected == false
        {
            otlNewVisitor.isSelected == true
            Button.buttonPressed(button: otlNewVisitor, boolResult: true, titleColor: UIColor.white, strImage: "icn-new-visitor-wht", bgColor: UIColor(red: 30/255, green: 104/255, blue: 140/255, alpha: 1), imgVW: imgNewVis)

            //Entered SubmitDetails Screen
            let submitVC = self.storyboard?.instantiateViewController(withIdentifier: "SubmitDetailsVC") as! SubmitDetailsVC
            self.navigationController?.pushViewController(submitVC, animated: true)
        }
        else
        {
            otlNewVisitor.isSelected == false
            //Button Colow did change
            Button.buttonPressed(button: otlNewVisitor, boolResult: false, titleColor: UIColor(red: 30/255, green: 104/255, blue: 140/255, alpha: 1), strImage: "icn-new-visitor", bgColor: UIColor.white, imgVW: imgNewVis)
        }
    }

1 个答案:

答案 0 :(得分:2)

您可以将代码更改为我的代码。只有在if-else条件下设置按钮的选定值时才会发生这种情况。所以,你想删除该代码。效果很好。

@IBAction func btnNew(_ sender: Any)
    {
        if otlNewVisitor.isSelected == false
        {
            Button.buttonPressed(button: otlNewVisitor, boolResult: true, titleColor: UIColor.white, strImage: "icn-new-visitor-wht", bgColor: UIColor(red: 30/255, green: 104/255, blue: 140/255, alpha: 1), imgVW: imgNewVis)

            //Entered SubmitDetails Screen
            let submitVC = self.storyboard?.instantiateViewController(withIdentifier: "SubmitDetailsVC") as! SubmitDetailsVC
            self.navigationController?.pushViewController(submitVC, animated: true)
        }
        else
        {
            //Button Colow did change
            Button.buttonPressed(button: otlNewVisitor, boolResult: false, titleColor: UIColor(red: 30/255, green: 104/255, blue: 140/255, alpha: 1), strImage: "icn-new-visitor", bgColor: UIColor.white, imgVW: imgNewVis)
        }
    }