다소 어수선한 문제가 있습니다. 내 응용 프로그램에서는 프로그래밍 방식으로 단추를 바꿀 수 있고 연결된 선택기를 제대로 호출 할 수있는 도구 모음이 있습니다. 그러나 탐색 막대의 단추에 동일한 기술을 적용하면 선택기를 호출 할 수 없습니다. 다음 샘플 코드에는 두 세트의 단추가 있습니다 (하나는 도구 막대에 대한 & 탐색 용). 동일 함에도 불구하고 탐색 모음 단추의 선택기가 호출되지 않습니다.도구 모음에 단추를 추가하는 동안 탐색 모음에 프로그래밍 방식으로 추가 된 UIBarButtonItem이 호출 선택기에 실패 함
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var toolbar: UIToolbar!
let navCancelButton = UIBarButtonItem(barButtonSystemItem: .cancel,
target: self,
action: #selector(toggleDelete))
let navTrashButton = UIBarButtonItem(barButtonSystemItem: .trash,
target: self,
action: #selector(toggleDelete))
let toolbarCancelButton = UIBarButtonItem(barButtonSystemItem: .cancel,
target: self,
action: #selector(toggleDelete))
let toolbarTrashButton = UIBarButtonItem(barButtonSystemItem: .trash,
target: self,
action: #selector(toggleDelete))
var isDeleting = false {
didSet {
navigationItem.rightBarButtonItem = isDeleting ? navCancelButton : navTrashButton
toolbar.items = isDeleting ? [toolbarCancelButton] : [toolbarTrashButton]
}
}
override func viewDidLoad() {
super.viewDidLoad()
isDeleting = false
}
@objc func toggleDelete() {
isDeleting = !isDeleting
}
}
이 행동 이전 코드를 보여줍니다
내 대답을 확인 사용하는 "버그"가 될 수 있습니다 탐색 항목 당신이 그랬던 것처럼 init을 할 수있는 방법이 목표를 잃지 않고 –