UIPopoverController
에 UINavigationBar
을 추가하는 것에 대해 다른 많은 질문을 보았습니다. 내가 본 모든 예제는 두 가지 패턴 중 하나 수행하십시오 팝 오버 서브 클래스의 init
또는 viewDidLoad
방법에서현재 탐색 컨트롤러 계층 구조에 Popover 추가
, 당신은 직접
UINavigationBar
, as suggested here ALLOC-init를. 이 방법은 약간의 해키입니다. Popover가 UITableViewController 인 경우 멋지게 표시되지만 방금 추가 한 탐색 표시 줄이 셀 중 하나와 겹치지 않도록해야합니다.또는 많은 게시물은 팝업을 표시하기 바로 전에
UINavigationController
을 만들 것을 제안합니다 (as shown here).
그러나 두 번째 방법을 사용하면 새로 만든 탐색 컨트롤러의 유일한 컨트롤러가 팝 오버가되지 않습니까? 그리고 내가 popover를 보여주고 있다는 내 견해가 이미 내비게이션 컨트롤러에 있다면, popover는 같은 내비게이션 컨트롤러에 있지 않을 것입니다. 맞습니까? 더 적절한 방법은 이미 존재하는 네비게이션 컨트롤러에 다른 컨트롤러로 생성 된 팝 오버를 추가하는 것입니다 (그리고 팝 오버를 제공하는 컨트롤러는 이미 일부인 것 같습니다). 그게 가능하니? 또는 팝 오버를위한 네비게이션 컨트롤러가 프리젠 테이션 컨트롤러의 네비게이션 컨트롤러와 독립적이어야하는 이유가 있습니까? 아니면 내가 여기서 뭔가를 놓치고 있는가?
알겠습니다. 나는 컨테이너로'UINavigationController'를 생각하고 있었고'UIViewController'의 특별한 종류 인'UIPopoverController'를 생각했습니다. 상속이 어떻게 작동하는지 알지 못했습니다. 감사합니다. 내 주요 문제는 컨테이너 자체로 popover를 생각하지 않고, 전체 화면을 차지하지 않는 특수한 종류의 UIViewController와 같은 것입니다. 당신의 대답과 여기에있는 다른 것을 읽은 후에, 나는 popover **가 ** 컨테이너라는 것을 알고 있습니다. 그래서 모든 것이 훨씬 더 의미가 있습니다. – GeneralMike