2015-01-08 2 views
0

모달 컨트롤러로 문제없이 InAppSettingsKit을 구현했습니다. 모두 거기에 잘있다. 그렇다면 나는 공상에 들기를 원했다.InAppSettingsKit 컨테이너 내부 - 탐색 문제

내 사용자 지정보기 컨트롤러 중 하나에 컨테이너를 추가하고 포함 된 Segue 컨트롤러를 TableViewController 대상으로 만들면 모든 것이 잘 표시됩니다. 심지어 어린이 창도 문제없이 보여줍니다. 하지만 그때 내 문제가 시작됩니다, 내가 아이 패널에 갈 때 나는 돌아올 수 없습니다. 즉, 네비게이션 컨트롤이 없다는 것입니다! 더 탐색이없는 나는 대부분의 사람들이 자식 창을 보여주는 문제가 다른 모든 게시물을 읽은

no nav

, 이것은 나에게 문제가되지 않습니다, 나는 그냥 그들로부터 얻을 수 없다 통제 수단.

중요하지만 컨테이너가있는 사용자 정의보기 컨트롤러가 탭보기 컨트롤러의 일부인지 확실하지 않습니다. 아마도 이것이 왜 내비게이션 컨트롤이없는 이유입니까? 이 문제가 발생했거나 신속하게 해결 한 사람이 있습니까? 내가 뭔가 놓치고있는 것처럼 보입니다.

무언가를 알아 내면 계속 작업하고 업데이트 할 예정입니다.

UPDATE

우리의 응용 프로그램은 바로 박쥐 탐색 모음을 숨 깁니다. 나는 이것을 숨김으로써 지금 나는 탐색 할 수 있다는 것을 발견했다. 그것은 의미가있다. 이 문제를 해결하는 유일한 방법은 하위 창에서 viewWillAppear/viewDidDisappear를 오버라이드하여 탐색 창을 사용/사용 중지하는 것입니다. 이제는 실제 통증 (의도가없는 내용)으로 표시됩니다. 사용자 정의 하위 뷰. 클래스가 있는지 알아 내려고하면 InAppSettingsKit에서 확장하여 이러한 재정의를 추가 할 수 있습니다.

+1

해결 방법을 올바른 것으로 틱하는 대답으로 게시하십시오. 그런 식으로 질문은 공개되지 않습니다. 또한 나는 당신이 그들 모두가 super를 호출 할 때 메소드를 오버라이드 할 필요가 없다고 생각합니다. –

+0

제안 해 주셔서 감사합니다. 내 담당자가 보여 주듯이 저는 StackOverflow에 아직 익숙하지 않습니다. 나는 그 대답을 대답으로 옮길 것이다. 조언을 감사하십시오. –

답변

0

당신은 내가 여기에서해야 할 일을했을 무엇인지 찾을 수 있습니다 https://github.com/futuretap/InAppSettingsKit/issues/277 또한

주의하시기 바랍니다 내 유스 케이스는 기존의 뷰 컨트롤러의 내부 용기에 InAppSettingKit 작업을하는 것이라고 나는 그것이 탐색을하고 싶어 이전에 숨겨져 있던 바.

정말 바퀴를 재발견하고 싶지 않았다

이 사용 사례 인 경우, 읽어 ..., 그래서 기존의 IASKAppSettingsViewController 클래스의 서브 클래스를 생성 한 다음에 추가 적절한 표시/숨기기 기능.

기본 클래스를 원하는대로 확장 할 수있는 방법이 될 것 같아요. 기초를 설정하고 설정해야합니다.

희망이 있으면 다른 사람에게 도움이됩니다.

class CustomSubviewController: IASKAppSettingsViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
    } 

    override init() { 
     super.init() 
    } 

    required init(coder aDecoder: NSCoder) { 
     super.init(coder: aDecoder) 
    } 

    override init(style: UITableViewStyle) { 
     super.init(style: style) 
    } 

    override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) { 
     super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil) 
    } 

    func myinit (file: NSString, specifier: IASKSpecifier) -> CustomSubviewController { 
     var vc = CustomSubviewController() 

     vc.showDoneButton = false; 
     vc.showCreditsFooter = false; // Does not reload the tableview (but next setters do it) 
     vc.delegate = self.delegate; 
     vc.settingsStore = self.settingsStore; 
     vc.file = specifier.file(); 
     vc.hiddenKeys = self.hiddenKeys; 
     vc.title = specifier.title(); 

     return vc 
    } 

    override func viewWillAppear(animated: Bool) { 
     super.viewWillAppear(animated) 
     self.navigationController?.setNavigationBarHidden(false, animated: animated) 

    } 

    override func viewWillDisappear(animated: Bool) { 
     super.viewWillDisappear(animated) 
     self.navigationController?.setNavigationBarHidden(true, animated: animated) 
    } 

}