2017-11-07 2 views
1

두 개의 버튼이있는 앱을 만들었습니다. 내가 원하는 것은 왼쪽 버튼을 클릭하면 배경색이 변경됩니다. 오른쪽 버튼을 클릭하면 해당 배경색을 변경하십시오. 개념 위Swift에서 두 버튼 사이의 배경을 전환하는 방법은 무엇입니까?

은 두 버튼 다음 코드와 함께 일하고있다 :

@IBAction func pressedButton(_ sender: UIButton) { 

     sender.backgroundColor = (sender.backgroundColor == Constants.BOOL_BUTTON.enabled) ? Constants.BOOL_BUTTON.disabled : Constants.BOOL_BUTTON.enabled 

    } 

두 버튼이 기능에 연결되어 있습니다. 작동하지 않는 유일한 방법은 예를 들어 왼쪽 버튼에 활성화 된 색상이 있고 사용자가 오른쪽 버튼을 클릭하여 선택을 변경하면 왼쪽 버튼이 비활성화 된 색상으로 재설정되지 않습니다. 위의 기능으로 어떻게 이것을 할 수 있습니까?

+0

첫 번째 또는 두 번째 버튼 인 경우 '송신기'를 확인하십시오 (IBOutlet/var를 유지하십시오). 그런 다음 그들을 "반전"합니까? – Larme

답변

1

코드의 문제는 오른쪽 또는 왼쪽 버튼을 누르면 다른 사람의 상태를 알 수없는 것입니다. 당신이 할 수있는 일은 다음과 같습니다 :

@IBAction func pressedButton(_ sender: UIButton) { 
    if sender.backgroundColor == Constants.BOOL_BUTTON.enabled { 
    return 
    } 
    sender.backgroundColor = Constants.BOOL_BUTTON.enabled 

    switch sender { 
    case self.leftButton: 
    self.rightButton.backgroundColor = Constants.BOOL_BUTTON.disabled 

    case self.rightButton: 
    self.leftButton.backgroundColor = Constants.BOOL_BUTTON.disabled 

    default: 
    return 
    } 
} 
+0

예를 들어 왼쪽 버튼을 클릭했을 때, 두 번째 클릭 할 때 아무 것도 일어나지 않을 수도 있습니다. 이제는 오른쪽 버튼을 활성화하고 그 반대도 마찬가지입니다. – Caspert

+0

@Caspert 당신은 배경색을 검사 할 수 있고 그것이 가능하다면 아무것도하지 않아도됩니다. 코드를 업데이트했습니다. – ozgur

+0

감사합니다, 당신이 나를 도왔다! – Caspert

관련 문제