1. Home
  2. Docs
  3. UberEats Clone – Documentation
  4. Common Customizations
  5. Customizing navigation & menu items

Customizing navigation & menu items

The menu items are being set in MultiVendorHostViewController.swift, in the following method:

fileprivate func menuItems(user: ATCUser?) -> [ATCNavigationItem] {
      let commonItems = [
            ATCNavigationItem(title: "HOME".localizedInApp,
                              viewController: homeVC,
                              image: uiEcommerceConfig.menuHomeImage,
                              type: .viewController),
            ATCNavigationItem(title: "CUISINES".localizedInApp,
                              viewController: categoriesVC,
                              image: uiEcommerceConfig.menuRestaurantMenuImage,
                              type: .viewController),
            ATCNavigationItem(title: "SEARCH".localizedInApp,
                              viewController: searchVC,
                              image: uiEcommerceConfig.menuSearchImage,
                              type: .viewController),
            ATCNavigationItem(title: "CART".localizedInApp,
                              viewController: cartViewController,
                              image: uiEcommerceConfig.navigationShoppingCartImage,
                              type: .viewController),
            ATCNavigationItem(title: "PROFILE".localizedInApp,
                              viewController: profileVC,
                              image: UIImage.localImage("profile-icon", template: true),
                              type: .viewController),
            ATCNavigationItem(title: "ORDERS".localizedInApp,
                              viewController: ordersVC,
                              image: uiEcommerceConfig.menuOrdersImage,
                              type: .viewController)
        ]
     ...
}

As you can see, that’s just a simple static array of ATCNavigationItem objects. You can modify this array as you want. By adding, removing or editing items, the menu changes will be reflected in the app’s main navigation.

Switching to Tab Bar Navigation

By default, the UberEats clone comes with a sidebar drawer menu navigation. If you instead prefer a tab bar view, you can simply change the style of the navigation in MultiVendorHostViewController from

let config = ATCHostConfiguration(menuConfiguration: menuConfiguration,
                                  style: .sideBar,
                                  ....)

into

let config = ATCHostConfiguration(menuConfiguration: menuConfiguration,
                                  style: .tabBar,
                                  ....)

You can also configure stuff out, such as icons, menu cell heights, etc. Just read out the configuration objects, since they are pretty much self-explanatory.