Back to Blog
ui-patternsmobilenavigationuxreference

12 Mobile UI Patterns Every App Needs in 2026 (With Examples)

·10 min read·By GenDesigns Team

Every mobile app reinvents the same wheels. Tab bars, pull to refresh, swipe actions—these patterns exist because they work, and users expect them.

This is a reference for the patterns that matter. I'll skip the theoretical stuff and focus on practical implementation.

Navigation patterns

How users move through your app determines how it feels to use.

Bottom tab bar

The default for apps with 3-5 main sections. Instagram, Spotify, and most consumer apps use this.

┌─────────────────────────────────────┐
│                                     │
│                                     │
│            Content                  │
│                                     │
│                                     │
├─────────────────────────────────────┤
│  🏠    🔍    ➕    ❤️    👤       │
│ Home Search  New  Activity Profile  │
└─────────────────────────────────────┘

Rules that matter:

  • 3-5 items max (more gets cramped)
  • Icons with labels beat icons alone
  • The current tab should be visually distinct
  • Tapping the current tab should scroll to top or reset the stack

When to use it: Almost always for consumer apps. It keeps core functions one tap away.

When to skip it: Single-purpose apps (camera, calculator), games, or apps with one primary flow. For a deeper look at how these patterns differ between platforms, see our iOS vs Android design differences guide.

Top tab bar (scrollable tabs)

Good for subcategories within a section. Twitter uses this for different timeline views.

┌─────────────────────────────────────┐
│  For You  │ Following │ Lists  → → │
├───────────┴───────────┴─────────────┤
│                                     │
│            Content                  │
│                                     │
└─────────────────────────────────────┘

Rules that matter:

  • Swipe between tabs should move content
  • Visual indicator showing current tab
  • Tabs can scroll horizontally if you have many

When to use it: Content that has natural categories but doesn't need bottom nav prominence.

Hamburger menu (nav drawer)

The three-line menu icon that reveals a side panel. Controversial but still common.

┌─────────────────────────────────────┐
│ ☰  App Title                     🔔 │
├─────────────────────────────────────┤
│                                     │
│            Content                  │
│                                     │
└─────────────────────────────────────┘

Menu opens:
┌───────────┬─────────────────────────┐
│ Profile   │                         │
│ Settings  │     Dimmed content      │
│ Help      │                         │
│ Sign out  │                         │
└───────────┴─────────────────────────┘

The controversy: Items in hamburger menus get used less. If something matters, it shouldn't be hidden.

When it works:

  • Secondary navigation (settings, help, account)
  • Apps with many sections that can't fit in tabs
  • Desktop-first apps adapted for mobile

When to avoid it: Don't put primary features here. If users need it regularly, it should be visible.

Stack navigation (push/pop)

Moving deeper into content, then backing out. This is the foundation of most app navigation.

List → Detail → Action
 ←       ←        ←    (Back at each level)

Rules that matter:

  • Back button or swipe gesture to return
  • Maintain scroll position when returning to list
  • Don't go too deep (3-4 levels max before users feel lost)

When it's essential: Any app with list → detail flows. That's most apps.

Skip the guesswork: Generate app screens with these patterns built in — describe your app and GenDesigns applies the right navigation, input, and content patterns automatically.

Input patterns

How users enter information.

Text fields

Seems simple but easy to mess up.

Do:

  • Large tap targets (44pt minimum height)
  • Clear placeholder text that disappears on focus
  • Appropriate keyboard type (email, phone, number)
  • Visible error states with helpful messages
  • Auto-capitalize appropriately (names yes, emails no)

Don't:

  • Put labels only inside the field (they disappear when typing)
  • Use placeholder text as the only label
  • Make users scroll to see the submit button while typing

Search

Two approaches: dedicated search screen or inline search.

Search bar approach:

┌─────────────────────────────────────┐
│  🔍  Search products...             │
├─────────────────────────────────────┤
│  Recent searches:                   │
│  • Running shoes                    │
│  • Blue jacket                      │
└─────────────────────────────────────┘

Inline filter approach:

┌─────────────────────────────────────┐
│  🔍  Filter                    ⚙️   │
├─────────────────────────────────────┤
│  ┌──────┐ ┌──────┐ ┌──────┐        │
│  │ All  │ │ New  │ │ Sale │        │
│  └──────┘ └──────┘ └──────┘        │
├─────────────────────────────────────┤
│            Results                  │
└─────────────────────────────────────┘

Rules that matter:

  • Show recent searches (users repeat themselves)
  • Search as you type when possible
  • Clear button to reset
  • Empty states when no results

Pickers and selectors

Avoid typing when selection works better.

Date picker: Use the native picker. Users know how it works. Custom date pickers are usually worse.

Option selection:

  • 2-5 options: Segmented control or chips
  • 5-10 options: Dropdown or action sheet
  • 10+ options: Searchable list

Multi-select: Checkboxes with clear selected count. "3 selected" beats users wondering if their taps registered.

Forms

Long forms on mobile are painful. Minimize them.

Strategies:

  • Break into steps (1 of 3, 2 of 3...)
  • Save progress automatically
  • Use smart defaults
  • Only ask what's necessary

Progress indicator:

┌─────────────────────────────────────┐
│  Personal Info     1 ━━━━ 2 ─── 3  │
├─────────────────────────────────────┤
│                                     │
│  First name: [_______________]      │
│                                     │
│  Last name:  [_______________]      │
│                                     │
│           [ Continue ]              │
└─────────────────────────────────────┘

Content patterns

How information gets displayed.

Cards

The workhorse of mobile UI. Self-contained content blocks that can be stacked, gridded, or swiped.

┌─────────────────────────────────────┐
│  ┌─────────────────────────────┐   │
│  │         Image               │   │
│  ├─────────────────────────────┤   │
│  │  Title                      │   │
│  │  Subtitle or description    │   │
│  │  [Action]        [Action]   │   │
│  └─────────────────────────────┘   │
│                                     │
│  ┌─────────────────────────────┐   │
│  │         Next card           │   │
└──┴─────────────────────────────┴───┘

Rules that matter:

  • Consistent card structure throughout the app
  • Clear visual boundaries (shadow, border, or background)
  • Tap target is the whole card for detail views
  • Actions within cards should be obviously tappable

Lists

For content without images or when density matters.

┌─────────────────────────────────────┐
│  Item title                      >  │
│  Secondary text                     │
├─────────────────────────────────────┤
│  Another item                    >  │
│  Secondary text                     │
├─────────────────────────────────────┤
│  Third item                      >  │
└─────────────────────────────────────┘

Rules that matter:

  • Clear separators between items
  • Chevron or other indicator for drilldown
  • Thumbnail on left if images are relevant
  • Action on right if there's a secondary action

Empty states

What users see when there's no content yet.

Do:

  • Explain why it's empty
  • Tell users how to add content
  • Use illustration or icon to soften the void

Don't:

  • Show literally nothing
  • Use generic "No data" messages
  • Miss the opportunity to guide users
┌─────────────────────────────────────┐
│                                     │
│           (illustration)            │
│                                     │
│        No workouts yet              │
│                                     │
│   Start tracking your first         │
│   workout to see it here.           │
│                                     │
│       [ Log Workout ]               │
│                                     │
└─────────────────────────────────────┘

Loading states

Users should always know the app is working.

Skeleton screens: Gray placeholders mimicking content layout. Better than spinners because they show progress.

┌─────────────────────────────────────┐
│  ┌─────────────────────────────┐   │
│  │  ████████████               │   │
│  │  ██████████████████████     │   │
│  │  ████████                   │   │
│  └─────────────────────────────┘   │
└─────────────────────────────────────┘

Spinners: Fine for short waits (less than 3 seconds) or when content structure isn't predictable.

Progress bars: For long operations where you can show actual progress (file uploads, downloads).

Interaction patterns

How users manipulate content.

Pull to refresh

Standard for feeds and lists with changing content.

Pull down:
┌─────────────────────────────────────┐
│           ↺ Refreshing...           │
├─────────────────────────────────────┤
│            Content                  │
└─────────────────────────────────────┘

Rules that matter:

  • Visual feedback during pull
  • Threshold before refresh triggers (don't refresh on every small scroll)
  • Haptic feedback on iOS when threshold is crossed

Swipe actions

Revealing actions by swiping list items. Email apps made this famous.

Swipe left to reveal:
┌─────────────────────────────────────┐
│  Item content         │ 🗑️  │ ⭐  │
└─────────────────────────────────────┘

Rules that matter:

  • Swipe should reveal, not immediately execute
  • Destructive actions (delete) need confirmation or undo
  • Keep actions to 2-3 max per direction
  • Partial swipe reveals; full swipe can execute primary action

Long press

Secondary actions without cluttering the UI.

Common uses:

  • Context menus
  • Reordering items
  • Quick actions (iOS home screen style)

Rules that matter:

  • Visual feedback that press registered
  • Haptic feedback improves discoverability
  • Don't hide essential actions behind long press

Bottom sheets

Modal content that slides up from the bottom. More thumb-friendly than centered modals.

┌─────────────────────────────────────┐
│                                     │
│         Dimmed background           │
│                                     │
├─────────────────────────────────────┤
│  ───  (drag handle)                 │
│                                     │
│  Sheet content                      │
│  Options, forms, details            │
│                                     │
│  [ Primary Action ]                 │
└─────────────────────────────────────┘

Rules that matter:

  • Drag handle to indicate dismissability
  • Can be dismissed by swipe down or tapping background
  • Don't put critical actions only accessible via sheet

Patterns to use carefully

Carousels

Swiping through a series of items.

Problems:

  • Users often miss content past the first card
  • No indication of how many items exist
  • Easy to accidentally swipe past what you wanted

When they work:

  • When all items are roughly equal in importance (featured stories)
  • When there's clear visual indication of more content
  • When users can tap to see all items

Infinite scroll

Loading more content as users scroll.

Problems:

  • Hard to reach footer content
  • Users lose their place if they accidentally navigate away
  • Can feel endless without a sense of completion

When it works:

  • Social feeds where there's genuinely no "end"
  • Search results (but show count if possible)

Always provide:

  • Loading indicator when fetching more
  • Way to jump to top
  • Saved scroll position if navigating away

Modals and popups

Interrupting content with overlay.

Use sparingly. Every modal is a user interruption. Ask: does this need to block the rest of the app?

Better alternatives:

  • Inline expansion
  • Bottom sheets (less intrusive)
  • New screen (if complex)

What's dated in 2026

Heavy skeuomorphism. The fake leather and wood textures from iOS 6 era. Nobody misses these.

Hamburger menus for primary nav. Bottom tabs won. Accept it.

Tiny tap targets. We know better now. 44pt minimum.

Full-screen interstitials. Users close them immediately. Don't even try.

Tutorial overlays. Those "coach marks" pointing at every button. Make the UI self-explanatory instead.

Aggressive permission requests on first launch. Ask when the feature is actually needed.

Using AI to implement patterns

GenDesigns knows these patterns. Mention them in your prompts:

Design a recipe app with:
- Bottom tab navigation (Home, Search, Saved, Profile)
- Card-based recipe list with pull to refresh
- Swipe to save recipes
- Bottom sheet for ingredient lists
- Skeleton loading states

The AI will apply standard implementations. You can then iterate on specifics.

Use our mobile app design checklist to make sure you haven't missed any essential elements. Patterns aren't creative challenges. They're conventions that let you focus creative energy on what makes your app different.


Related reading: