2017-03-07 14 views
0

Swift 3, Xcode 8.2를 사용하고 있습니다.Swift 3 - 인스턴스화 된보기 컨트롤러가 탭과 탐색 모음 뒤에 배경이 나타나지 않게하려면 어떻게해야합니까?

나는 내비게이션 컨트롤러와 연결된 테이블 뷰 컨트롤러가있는 스토리 보드를 가지고 있습니다. 이 테이블에는 클릭 할 때마다 매번 인스턴스화하는 사용자 정의 테이블 뷰 컨트롤러에 대한 링크가있는 셀이 있습니다.

let detailVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "dvc") as! ResultsVC 
detailVC.view.backgroundColor = UIColor.white 
detailVC.edgesForExtendedLayout = []; 

는하지만이 새로 생성 된 VC는 색상이 변경 때문에 그 배경 상단 탐색 모음 및 하단 탭 표시 줄 뒤에 사라질 것 같다. 어떻게 이런 일이 일어나지 않도록합니까?

답변

0

이것은 예상되는 동작입니다 (네비게이션 컨트롤러로 새로 인스턴스화 된 VC를 푸시한다고 가정합니다). 보기가 탐색 모음 뒤에 숨겨져 있으면 다음 중 하나를 수행하십시오. 1) 새 VC보기의 프레임을 변경하여 y 좌표가 탐색 모음의 높이와 같도록하십시오. 또는 2)보기를 IB에서 밀어 넣으십시오. 코드로 작성하면 처리됩니다.

+0

답변 해 주셔서 감사합니다. 프레임의 위치, 높이 및 너비를 수동으로 설정하는 경우 응용 프로그램이 가로보기로 전환 될 때 시간을 조정하려면 어떻게해야합니까? – noblerare

+0

didRotateFromInterfaceOrientation을 구현하고 UI 변경 사항을 기본 대기열 블록에 넣습니다. 또는 풍경을 사용 중지합니다. 또는 y 값을 설정하는 대신 프로그램 적으로 추가 된 제약 조건을 사용하십시오 (이렇게하기가 어려울 수 있음). 기록을 위해 모든 탐색 컨트롤러 관리에 IB를 사용하는 것이 좋지만이 방법을 사용할 수없는 경우가 있다는 것을 이해해야합니다. – dylanthelion