ここで私がしなければならなかったことを見つけることができます: 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)
}
}