【问题标题】:SWRealViewController over UINavigationBar subview hides UINavigationItemsUINavigationBar 子视图上的 SWRealViewController 隐藏 UINavigationItems
【发布时间】:2015-06-01 19:50:02
【问题描述】:

当我将 SWRevealViewController 放在普通 UIViewController 的视图上时,为了实现向左滑动的菜单效果,它按预期工作。

但是,当这个视图控制器嵌入到 UINavigationController 中时,它会覆盖导航栏并隐藏图像和左右 BarButtonItems。

如果能帮助我找到解决方法,我将不胜感激。

这就是我添加此按钮的方式:

UIBarButtonItem *revealButtonItem = [[UIBarButtonItem alloc] initWithImage: [UIImage imageNamed:@"icon-back"]
                                                                      style:UIBarButtonItemStylePlain
                                                                    target:self.revealViewController action:@selector(revealToggle:)];
UIBarButtonItem *saveExitButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"out"]
                                                                     style:UIBarButtonItemStylePlain
                                                                    target:self action:@selector(saveExit)];

self.navigationController.navigationItem.leftBarButtonItem = revealButtonItem;
self.navigationController.navigationItem.rightBarButtonItem = saveExitButtonItem;

添加此存储库以表明我正在使用此组件https://github.com/John-Lluch/SWRevealViewController

https://github.com/AresDev/revealtest.git

Main.storyboard 正在运行,只需将项目设置更改为 NonWorking.storyboard 的主界面即可查看错误。

【问题讨论】:

    标签: ios ios8 swrevealviewcontroller


    【解决方案1】:

    我找到了解决办法,我必须添加按钮项的导航项实际上是 RevealViewController 导航项。

    UIBarButtonItem *revealButtonItem = [[UIBarButtonItem alloc] initWithImage: [UIImage imageNamed:@"icon-back"]
                                                                      style:UIBarButtonItemStylePlain
                                                                    target:self.revealViewController action:@selector(revealToggle:)];
    
    UIBarButtonItem *saveExitButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"out"]
                                                                     style:UIBarButtonItemStylePlain
                                                                    target:self action:@selector(saveExit)];
    
    self.revealViewController.navigationItem.leftBarButtonItem = revealButtonItem;
    self.revealViewController.navigationItem.rightBarButtonItem = saveExitButtonItem;
    

    【讨论】:

      【解决方案2】:

      这是我从您的问题中了解到的:您正在尝试将导航抽屉视图控制器放在一起。如果是的话可以参考:https://github.com/mutualmobile/MMDrawerController

      如果不是,请详细说明您的问题。

      【讨论】:

      • 我没有很好地解释,所以我编辑了我的问题,添加了一个包含我的问题的仓库,但我会尝试你的建议。谢谢!
      • 我尝试了你的建议,但问题仍然存在,即使有了这个新抽屉。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-20
      • 1970-01-01
      • 2013-09-20
      • 1970-01-01
      • 2011-11-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多