How to create responsive mobile tab bar in Figma

Create convenient and flexible design components right in Figma

How to create responsive mobile components in Figma
UI Design

Published on

December 16, 2018

|

4 mins read

Blog

How to create responsive mobile tab bar in Figma

Roman Kamushken

Roman Kamushken

When creating the next design product based on iOS design templates, I decided to experiment with the Tab Bar component. I'd like to remind you that it is the bottom navigation in the iOS guidelines. I wanted its contents to have a logical and optimal behaviour at resizing. I wanted to make it as adaptive as possible for all mobile iOS devices, as far as Figma and constraints allow to make it.

What does Tab Bar consist of?

A tab bar appears at the bottom of an app screen and provides the ability to quickly switch between different sections of an app.

Could we have it responsive?

No tool for interface design allows the full adaptivity so far. Figma is no exception, it uses the classic Constraints approach, but even with it you can do a lot. For example, you can see the perfect and actually adaptive behaviour of the Tab Bar on all devices in the animation below:

Design example illustrating could we have it responsive?

The elements move proportionally to the indents between them.
Below I will tell you how to achieve this behavior in a simple way.

The problem is the icons

A good design system in Figma necessarily contains an icons library. At least the main system ones. This eliminates the need to import them manually from SVG files every time. Constraints in the Scale mode should be for each icon component, from which you will make a convenient library over time. Then you will get a flexible icon that can be used in any dimensions: 16x16, and 44x44, and so on.

Most likely you will throw such an icon through Figma's left panel inside the Tab Bar and add an inscription when you start creating a component. And the problem is that with such constraints the icon will always be squeezed inside the Tab Bar at resizing if you want to get an adaptive component:

Design example illustrating the problem is the icons

There are several methods to solve the problem

METHOD 1

Immediately detach icons

I suggested above that within your design system, all the component icons are in the Scale mode, it means when you create the Tab Bar, you can immediately break the connection with them and assign each icon individual Center constraints. It, in turn, will remain in the frame, which you need to assign the Scale mode.

Pros: speed
Cons: disconnecting the component from the system

Design example illustrating immediately detach icons

METHOD 2

Keep 2 types of icons in the system

This method may be suitable if there are not so many icons in the project. Just duplicate your entire Scale set, detach, change constraints to Center, re-create the components and submit to a new page with a different name. Recently, I think it's a good idea that several hundred icons in any Figma system can be stored both as Scaleable and as Centered. So, once you dropped a Tab Bar onto your canvas, you just need to swap the icons and you can keep it as the Instance in your project.

Pros: flexibility
Cons: if there many icons, they are a lot harder to organise

Design example illustrating keep 2 types of icons in the system

METHOD 3

Add an intermediate component

According to the concept of Atomic design, such a component will be considered a molecule. Pack an icon and an inscription in it, then feel free to put Center constraints to both and put the Scale mode for the molecule itself. After that, put them in your Tab Bar. Thus icon constraints will be ignored and no squeeze happening anymore. In addition, the icon with the inscription is an effective navigation pattern. So why not reuse this component somewhere else in the project?

Pros: efficiency
Cons: an extra component of the system

https://webflow.com/@foursets

Personally I prefer Method 3. I think it is more elegant and professional. Maybe you have your own methods?

‍_By the way, many components in the Figma iOS toolkit are made according to this method. I recommend you to pay attention if you are prototyping mobile interfaces in Figma or in case your team concentrated on mobile development_.

Subscribe to Setproduct

Once per week we send a newsletter with new releases, freebies and blog publications

By clicking Sign Up you're confirming that you agree with our Terms and Conditions.

Related posts

Empty state UI design: From zero to app engagement

UI Design

17 min read

Empty state UI design: turn blank screens into next steps

The empty state is the first screen many users ever see. Learn how to turn blank screens into guidance that drives the next action, with real examples.

Learn how to design accessible, responsive and visually clear Steps UI for web flows like onboarding, checkout, KYC, and surveys

UI Design

10 min read

Steps UI design tutorial. Build better flows through visual guidance

A great Steps UI guides users, reduces drop-offs, and removes friction. Learn the rules that make it work across desktop and mobile.

Most tooltips appear too fast, too small, or in the wrong place

UI Design

14 min read

Tooltip UI design: Why most tooltips quietly hurt usability

Most tooltips appear too fast, too small, or in the wrong place. See the anatomy, timing, and accessibility rules that make tooltips quietly useful.

Copy iconLinkedin iconFacebook iconX icon