你可以在这里找到我必须做的事情: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)
}
}