런타임에 막대 버튼 동작을 생성하려면 몇 단계를 거쳐야 합니다. 우선 새 프로젝트를 만들어 시작하겠습니다.
프로젝트를 생성했으면 바로 스토리보드로 이동하여 ViewController를 선택하고 이를 탐색 컨트롤러에 포함합니다.
이제 해당 View 컨트롤러 클래스로 이동하여 그 내부에서 런타임에 탐색 모음에 버튼을 추가하는 몇 가지 단계를 수행합니다.
버튼을 눌렀을 때 호출되어야 하는 objc 함수를 만듭니다.
@objc func barButtonAction() { print("Button pressed") }
이제 viewWillLayoutSubviews 메소드를 클래스에 추가하십시오.
먼저, 이제 막대 버튼을 생성하겠습니다.
let barButton = UIBarButtonItem()
그런 다음 이 바코드에 이름을 지정하겠습니다.
barButton.title = "custom"
이제 이 바코드에 사용자 지정 작업을 추가하고 자체 대상을 지정합니다.
barButton.action = #selector(barButtonAction) barButton.target = self
이제 이 버튼을 애플리케이션의 탐색 모음에 추가하겠습니다.
self.navigationItem.setLeftBarButton(barButton, animated: true)
이것이 현재 완전한 코드의 모습입니다. 위의 코드를 우리 기기에서 실행할 때의 모습입니다.
override func viewWillLayoutSubviews() { let barButton = UIBarButtonItem() barButton.title = "custom" barButton.action = #selector(barButtonAction) barButton.target = self self.navigationItem.setLeftBarButton(barButton, animated: true) } @objc func barButtonAction() { print("Button pressed") }
네비게이션 바의 버튼을 여러 번 누르면 아래와 같은 결과가 나옵니다.