2017-10-24 1 views
0

간단한 작업 추적 응용 프로그램이 생성 된 Apple 튜토리얼을 살펴 보겠습니다. 새로운 작업 추가 (이 경우에는 사용자가 navigationItem의 "+"버튼을 터핑 한 후에 모달로 표시됨)와 기존 작업 편집 (이 경우에는 새 작업 추가)을위한 정적 테이블보기 및 작업 목록이있는 동적 테이블보기가 있습니다 사용자가 동적 테이블보기에서 셀 중 하나를 선택하면 네비게이션 컨트롤러를 통해 푸시됩니다.navigationItem 변경 leftBarButtonItem segue에 따라

이 자습서에서는 정적 테이블보기에 IB에서 설정 한 "취소"leftBarButtonItem이 있어야한다고 설명합니다. 나에게 새로운 작업을 만들 때 "취소"버튼은 괜찮지 만 기존 작업을 보거나 편집 할 때 화살표가있는 표준 탐색 "뒤로"버튼이 더 적합합니다. 튜토리얼은이 UI 문제를 완전히 무시하고 어떤 segue가 수행되는지에 따라 두 개의 버튼 유형을 전환하는 방법을 찾을 수없는 것 같습니다. 마음에 떠오르는 유일한 사항은 테이블 뷰를 분리하여 작성하는 것입니다. 단 하나의 버튼으로 인해 시간과 리소스가 낭비되는 것 같습니다. 어쩌면 더 간단하고 명백한 방법이 있을까요? enter image description here

답변

0
let backButton = UIButton(type: UIButtonType.custom) 
    backButton.addTarget(self, action: #selector(self.bacButAction), for: UIControlEvents.touchUpInside) 
    backButton.setImage(UIImage(named: "Your Image"), for: .normal) 
    backButton.sizeToFit() 
    let leftBarButtonItem = UIBarButtonItem(customView: backButton) 
    leftBarButtonItem.title = "Your Title" 

    self.navigationItem.leftBarButtonItem = leftBarButtonItem 



func bacButAction() 
{ 
//do action here 
} 
1

enter image description here

때때로 단지 질문을 한 후에는 명백한 답을 찾을 수 있습니다. 코드 행 :

navigationItem.leftBarButtonItem = navigationItem.backBarButtonItem 

을 첨가하거나 문제 해결 및 대체 동적 테이블 뷰 prepareForSegue() 또는 정적 테이블 뷰의 viewDidLoad()에서 모달 프레 IB 설정 "취소"버튼을 시스템 표준 탐색 뒤로 버튼.

관련 문제