我实现了InAppSettingsKit,没有问题,作为一个模态控制器。一切都很好。然后我就想变得花哨了!
我将一个容器添加到我的一个自定义视图控制器中,并使嵌入式segue控制器目标为TableViewController,一切都显示得很好。即使是儿童窗格也没有问题。但是,我的问题开始了,当我进入一个子窗格时,我就不能回来了。也就是说,没有导航控制!!

我读过其他大多数人都有问题显示子窗格的帖子,这对我来说不是问题,因为没有导航控件,我无法从它们中得到信息。
我不确定它是否重要,但是我的带有容器的自定义视图控制器是选项卡视图控制器的一部分。也许这就是为什么没有导航控件?有没有其他人经历过这种情况或者有一个快速的解决办法?好像我错过了一个简单的地方。
如果我想出了点什么,我会继续做下去,然后更新!
更新
我们的应用程序立即隐藏导航条。我发现,通过揭开这个秘密,我现在能够导航,这是有意义的。看来,唯一的解决办法是覆盖子窗格中的viewWillAppear/viewDidDisappear,以启用/禁用导航panes...which,因为我将不得不创建自定义子视图,因此现在看起来很痛苦(不是双关语)。试图找出是否有一个类可以从InAppSettingsKit扩展到添加这些重写。
发布于 2015-02-05 17:11:59
你可以知道我在这里要做什么: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)
}
}https://stackoverflow.com/questions/27845249
复制相似问题