[IOS] back 버튼이 눌렸는지 아는 방법
UINavigationBarDelegate
를 사용하여 backButtonPressed()
메서드를 호출하는 방법입니다. 다음은 해당 방법을 보여주는 예시입니다:
UINavigationBarDelegate
프로토콜을 채택한 뒤,backButtonPressed()
메서드를 구현합니다. 이 메서드는 “Back” 버튼이 눌렸을 때 호출될 메서드입니다.
class YourViewController: UIViewController, UINavigationBarDelegate {
// ...
@objc func backButtonPressed() {
// "Back" 버튼이 눌렸을 때 수행할 동작을 여기에 작성합니다.
// 예: 특정 동작 수행, 이전 화면으로의 전환 등
print("Back button pressed")
}
}
viewDidLoad()
에서navigationController
의navigationBar.delegate
를 현재viewController
로 설정합니다.
override func viewDidLoad() {
super.viewDidLoad()
navigationController?.navigationBar.delegate = self
}
shouldPopItem(_:)
메서드를 구현하여 “Back” 버튼이 눌렸을 때 호출되는backButtonPressed()
메서드를 호출합니다.
func navigationBar(_ navigationBar: UINavigationBar, shouldPop item: UINavigationItem) -> Bool {
backButtonPressed()
return true
}
위 예시에서는 UINavigationBarDelegate
프로토콜을 채택하고, backButtonPressed()
메서드를 구현합니다. viewDidLoad()
에서 navigationController?.navigationBar.delegate
를 현재 viewController
로 설정하고, shouldPopItem(_:)
메서드를 구현하여 “Back” 버튼이 눌렸을 때 backButtonPressed()
메서드를 호출합니다.
이 방법을 사용하면 “Back” 버튼이 눌렸을 때 backButtonPressed()
메서드가 호출되어 원하는 동작을 수행할 수 있습니다. 이렇게하면 “Back” 버튼의 눌림 이벤트를 캐치하고 이를 활용하여 필요한 작업을 수행할 수 있습니다.