首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >容器内部的InAppSettingsKit -导航问题

容器内部的InAppSettingsKit -导航问题
EN

Stack Overflow用户
提问于 2015-01-08 16:44:44
回答 1查看 114关注 0票数 0

我实现了InAppSettingsKit,没有问题,作为一个模态控制器。一切都很好。然后我就想变得花哨了!

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

我读过其他大多数人都有问题显示子窗格的帖子,这对我来说不是问题,因为没有导航控件,我无法从它们中得到信息。

我不确定它是否重要,但是我的带有容器的自定义视图控制器是选项卡视图控制器的一部分。也许这就是为什么没有导航控件?有没有其他人经历过这种情况或者有一个快速的解决办法?好像我错过了一个简单的地方。

如果我想出了点什么,我会继续做下去,然后更新!

更新

我们的应用程序立即隐藏导航条。我发现,通过揭开这个秘密,我现在能够导航,这是有意义的。看来,唯一的解决办法是覆盖子窗格中的viewWillAppear/viewDidDisappear,以启用/禁用导航panes...which,因为我将不得不创建自定义子视图,因此现在看起来很痛苦(不是双关语)。试图找出是否有一个类可以从InAppSettingsKit扩展到添加这些重写。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-05 17:11:59

你可以知道我在这里要做什么:https://github.com/futuretap/InAppSettingsKit/issues/277

另外,请注意,我的用例是让InAppSettingKit工作在现有视图控制器内的容器中,并且我希望它有一个以前隐藏的导航条。

如果这是你的用例,继续读.

我真的不想重新发明轮子,所以我创建了一个已经存在的IASKAppSettingsViewController类的子类,然后添加了适当的出现/消失功能。

我想这可能是在任何地方扩展基类的方法,您只需要基本设置,然后就可以使用它了!

希望这能帮到别人!!

代码语言:javascript
复制
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)
    }

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27845249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档