我可以在 IOS 应用程序中有两个侧边栏吗?

Can i have two sidebars in an IOS app?

我是 IOS 应用程序开发的新手。我正处于我目前正在开发的应用程序的设计阶段。我想知道我是否可以在我的 IOS 应用程序中实现两个侧抽屉,即一个从屏幕左侧打开,一个从屏幕右侧打开。我想知道在app store上提交申请时会不会有什么问题?

谢谢

您可以使用第三方解决方案,即 SWRevealViewController. It allows you to do exactly what you want - implementing sidebar menus both from the left and right sides. There is also an AppCoda tutorial 关于如何使用 SWRevealViewConttoller 来做到这一点。

此外,我认为这不会成为被 Apple 拒绝的原因。但是,您可以阅读用户界面上的 App Store Review Guidelines。不幸的是,我无法发送 link,因为我在堆栈上的声誉。

这里有一个关于如何使用 SWRevealViewController 添加两个菜单的快速教程:

转场是在故事板中完成的。

  1. 在故事板中创建一个 UIViewController 并将其 class 设置为 SWRevealViewController。
  2. 创建另一个 UIViewController (MainViewController) 并将其嵌入到 UINavigationController 中。
  3. 在导航栏的左右两侧拖动两个UIBarButtonItem,并在代码中为它们创建插座。
  4. 将以下代码添加到 MainViewController 的 class:

    - (void)viewDidLoad
    {
        [super viewDidLoad];
    
        if (self.revealViewController) {
            [self.leftSidebarButton setTarget: self.revealViewController];
            [self.rightSidebarButton setTarget: self.revealViewController];
            [self.leftSidebarButton setAction: @selector( revealToggle: )];
            [self.rightSidebarButton setAction: @selector( revealToggle: )];
            [self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
        }
    }
    
  5. 创建两个 UITableViewControllers 作为您的菜单。

  6. 控制从 SWRevealViewController 拖动到 MainViewController 的 UINavigationController 并将 segue class 设置为 "SWRevealViewControllerSegueSetController"。
  7. 对两个 UITableViewController 执行相同的操作。
  8. 设置SWRevealViewController到MainViewController的segue标识符为"sw_front",设置SWRevealViewController到左菜单UITableViewController的segue标识符为"sw_rear",右菜单UITableViewController的segue's identifier必须设置为"sw_right"。
  9. 构建并 运行.