0

내 탐색 컨트롤러가 있으므로 내 기본보기의 버튼을 클릭하면 "뒤로"탐색 항목이있는 다른보기가 열립니다.내비게이션 컨트롤러에 다른 뒤로 버튼 추가

오른쪽에서 두 번째보기에 다른 항목을 추가하는 것이므로이보기에는 이미 작업중인 "뒤로"항목과 같은 작업을 수행하는 새로운 "편집"항목이 있어야합니다 뒤로 버튼으로 사용하지만 prepareForSegue 함수를 사용하여 보완 된 코드를 실행할 수 있습니다.

어떻게 그렇게 할 수 있습니까? 여기

내가 뭘하려 : 나는 두 탐색 컨트롤러를 사용하고

enter image description here

내 두 번째보기를 탐색 컨트롤러에 포함되지 않은 경우 내가 "편집"항목을 추가 할 수 없습니다 때문입니다. 이것이 작동하고 있으므로 두 개의 "뒤로"및 "편집"항목이 있지만 "편집"항목의 "뒤로"항목과 동일한 기능을 수행하는 방법을 모릅니다. 예상대로 작동하지 않습니다. 첫 번째보기에서 설명한 버튼은 편집기 나 그 부분에 표시되지 않았으므로 프로그래밍 방식으로 표시했습니다.

+0

prepareForSegue하지 PopViewController에 대한의 ViewController를 밀어위한 부분입니다, 당신이 여기에 요구하는 것은 내가 바로 당신을 얻고 경우 이전의 ViewController로 다시 데이터를 전송하는 방법입니다 - –

+0

우아하지 않을 수있는 특정 동작을 구현하는 것에 대해 묻는 대신 일반적으로 해결하려고하는 것이 무엇이 문제인지 설명해 주시겠습니까? –

답변

1

edit button을 두드릴 때 popViewController(animated:)을 간단하게 호출 할 수 있습니다.

class ViewController: UIViewController 
{ 
    override func viewDidLoad() 
    { 
     super.viewDidLoad() 
     let editItem = UIBarButtonItem(title: "Edit", style: .plain, target: self, action: #selector(editButtonTapped(_:))) 
     self.navigationItem.rightBarButtonItem = editItem 

    } 

    @objc func editButtonTapped(_ sender: UIBarButtonItem) 
    { 
     self.navigationController?.popViewController(animated: true) 
    } 
} 

스토리 보드 :

enter image description here

+0

감사합니다. 완벽하게 작동합니다. 솔루션이 간단했을 때 너무 복잡한 것을 시도했습니다. 이제 내가 이해할 수없는 마지막 것은 에디터를 통해이 편집 버튼을 어떻게 추가 할 수 있을까요? 두 번째보기에서 간단한 끌기는 아무 것도하지 않기 때문에이 편집 단추를 둘 수있는 두 번째 탐색 컨트롤러를 사용했습니다. – Drakalex

관련 문제