저는 앱의 언어를 전환 할 수있는 버튼이 각각 하나씩 있습니다. 각 단추에 대해 여러 개의 IBActions를 만드는 대신 하나의 IBAction에 모두 연결하고 단추를 눌렀을 때 언어를 변경할 수있는 방법이 있습니까? 전환 문이이 상황에서 사용하는 것이 좋지만 정확히 어떻게 설정해야하는지는 잘 모르겠습니다.Swift에서 하나의 IBAction을 여러 버튼에 사용하는 방법은 무엇입니까?
인터페이스 빌더에서답변
가, 특성 관리자를 선택하고 고유 번호와 함께 각 버튼의 태그를 설정, 당신은 같은 것을 할 수 있습니다
@IBAction changeLanguage(sender: AnyObject) {
guard let button = sender as? UIButton else {
return
}
switch button.tag {
case 1:
// Change to English
case 2:
// Change to Spanish
case 3:
// Change to French, etc
default:
print("Unknown language")
return
}
}
여러 버튼에 동작을 연결하려면 :을에 Interface Builder에서 뷰 계층 구조에서 ViewController를 마우스 오른쪽 버튼으로 클릭 한 다음 왼쪽 버튼을 클릭하여 액션 연결을 각 버튼으로 끕니다.
예, switch 문을 사용하여 여기로 이동할 수 있습니다. UIButton의 경우 사용자가 버튼과 상호 작용할 때 호출되는 선택자 (일반적으로 TouchUpInside 이벤트)에 링크합니다. The addTarget method, and valid selector signatures (apple.com)이 중 @IBAction func doSomething(sender: UIButton)
또는 @IBAction func doSomething(sender: UIButton, forEvent event: UIEvent)
형식의 메서드를 사용하면 이벤트를 트리거 한 단추에 대한 참조가 선택기로 전달됩니다. 당신의 ViewController 코드에서
, 당신은 (아마도 스토리 보드에서, 또는 수동으로 만들었습니다.) 당신의 UIButtons에 대한 참조가의 당신이 당신은 같은 방법으로 모두를 연결하는 것
@IBOutlet weak var frenchButton: UIButton!
@IBOutlet weak var spanishButton: UIButton!
@IBOutlet weak var englishButton: UIButton!
있다고 가정 해 봅시다거야 어떤 사람이 보낸 사람인지에 따라 논리를 분기하십시오. 예컨대 :
@IBAction func changeLanguage(sender: UIButton) {
switch sender {
case frenchButton:
// Change Language to French
print ("C'est si bon")
case spanishButton:
// or Spanish
print ("Muy Bueno")
case englishButton:
// or English
print ("It's pretty cool")
default:
break
}
}
참고 : 당신이 그것을 호출해서는 안하더라도, 기본 경우를 포함 할 수 있도록 스위프트의 사례 문, 철저한해야합니다.
나는 우리가, 태그
@IBOutlet weak var firstButton: UIButton!
@IBOutlet weak var secondButton: UIButton!
@IBOutlet weak var thirdButton: UIButton!
@IBAction changeLanguage(sender: UIButton) {
if sender == firstButton {
} else if sender == secondButton {
} else if sender == thirdButton {
}
}
- 1. 하나의 onClickListerner를 여러 버튼에 사용하는 방법은 무엇입니까? 아니면 허용되지 않습니까?
- 2. 여러 개의 제출 버튼에 하나의 사용자 이름을 사용하는 방법은 무엇입니까?
- 3. 하나의 버튼에 여러 액션이 있습니다.
- 4. Swift에서 dispatch_async를 사용하는 방법은 무엇입니까?
- 5. Swift에서 배열을 사용하는 방법은 무엇입니까?
- 6. Swift에서 NSStreamEvents를 사용하는 방법은 무엇입니까?
- 7. Swift에서 ViewWithTag를 사용하는 방법은 무엇입니까?
- 8. 하나의 버튼에 여러 양식 저장
- 9. GUI에서 하나의 버튼에 대해 여러 개의 리스너를 만드는 방법은 무엇입니까?
- 10. 여러 라디오 버튼에 대해 하나의 ActionListener를 사용하는 Java
- 11. 여러 객체에 하나의 핸들러를 사용하는 방법은 무엇입니까?
- 12. 하나의 정적지도에 여러 마커를 사용하는 방법은 무엇입니까?
- 13. 하나의 앱에서 여러 모델을 사용하는 방법은 무엇입니까?
- 14. 하나의 테이블을 여러 번 사용하는 방법은 무엇입니까?
- 15. ApplicationBar의 버튼에 빈 제목을 사용하는 방법은 무엇입니까?
- 16. 하나의 버튼에 다른 이미지를 표시하는 방법은 무엇입니까?
- 17. Swift에서 NSNotificationCenter를 올바르게 사용하는 방법은 무엇입니까?
- 18. XCODE 다른보기에서 IBAction을 사용하는 방법
- 19. 버튼에 여러 개의 태그를 설정하는 방법은 무엇입니까?
- 20. 게시물의 버튼에 While 루프를 사용하는 방법은 무엇입니까?
- 21. 레일 4의 버튼에 notify.js를 사용하는 방법은 무엇입니까?
- 22. Android 라디오 버튼에 setTextColor를 사용하는 방법은 무엇입니까?
- 23. 버튼에 MVVM Icommand를 사용하는 방법은 무엇입니까?
- 24. 단일 버튼에 여러 이벤트를 적용하는 방법은 무엇입니까?
- 25. AlertDialog의 여러 버튼에 대한 하나의 OnClickListener
- 26. iOS - 하나의 버튼에 여러 이벤트가 있습니다.
- 27. Tkinter 하나의 버튼에 여러 명령이 있습니다.
- 28. 여러 개의 버튼에 대해 하나의 속성
- 29. 여러 버튼에 대한 하나의 .click 이벤트 핸들러
- 30. Maya Python이 하나의 버튼에 여러 기능을 제공합니다.
예없이 좋은 생각을 해결할 수있는 경우, 태그를 설정하고 싶지 않아요; D –
어떤 생각이 어떻게 ibactions을 처리 한 최대를 설정? – SwiftyJD
발신자는 제목, 태그 및 기타 등 많은 속성을가집니다. 또한 ID 속성을 사용하여 사용자 정의 버튼 클래스를 만들 수 있습니다. –