我已经将InAppSettingsKit作为模态控制器实现了。一切都很好。然后我想得到幻想!
我在我的一个自定义视图控制器中添加了一个Container,并使嵌入式segue控制器成为TableViewController的目标,一切都显示得很好。即使是儿童窗格也没有问题。但后来我的问题开始了,当我去儿童窗格时,我无法回来。也就是说没有导航控件!!
我已经阅读了所有其他帖子,其中大多数人都有显示儿童窗格的问题,这对我来说不是问题,因为没有导航控件,我无法从他们那里回来。
我不确定它是否重要,但我的自定义视图控制器与容器是标签视图控制器的一部分。也许这就是为什么没有导航控件?有没有其他人经历过这个或快速修复?好像我错过了一些简单的东西,在某个地方设置。
如果我想出来的话,我会继续努力并更新!
更新
我们的应用程序会立即隐藏导航栏。我发现,通过取消隐藏,我现在能够导航,这是有道理的。似乎唯一的办法就是覆盖子窗格中的viewWillAppear / viewDidDisappear以启用/禁用导航窗格......这看起来像是一个真正的痛苦(没有双关语意),因为我将不得不创建自定义子视图。试图弄清楚是否有一个类我可以从InAppSettingsKit扩展到只添加这些覆盖。
答案 0 :(得分: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)
}
}