Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. Persei

Persei

MITSwift3.1.1

An animated top menu for UITableView, UICollectionView, and UIScrollView written in Swift.

Visit WebsiteGitHubGitHub
3.4k stars312 forks0 contributors

What is Persei?

Persei is a Swift library that provides an animated top menu for iOS apps, designed to work with UITableView, UICollectionView, and UIScrollView. It solves the need for engaging, customizable navigation menus with smooth reveal animations and easy integration. Developers can enhance user interfaces by adding interactive top menus that respond to gestures and programmatic control.

Target Audience

iOS developers building apps with table views, collection views, or scroll views who want to add animated top navigation menus. It's ideal for those seeking a lightweight, Swift-native solution for UI enhancements.

Value Proposition

Developers choose Persei for its polished animations, straightforward API, and flexibility—it supports multiple view types and allows deep customization of menu items and behavior. As an open-source library from Yalantis, it offers production-ready quality with an MIT license.

Overview

Animated top menu for UITableView / UICollectionView / UIScrollView written in Swift

Use Cases

Best For

  • Adding animated top navigation to iOS table views
  • Enhancing UICollectionView interfaces with sticky menus
  • Creating custom scrollable headers with reveal animations
  • Building iOS apps with gesture-controlled menu interactions
  • Implementing lightweight, Swift-based UI components
  • Customizing menu item appearances with images and colors

Not Ideal For

  • Apps built entirely with SwiftUI that require native menu components
  • Projects needing bottom or side navigation menus, as Persei is designed exclusively for top positioning
  • Teams targeting iOS 7 or earlier who cannot easily manage manual framework integration

Pros & Cons

Pros

Smooth Animations

Offers drag-gesture controlled reveal and hide animations with programmatic control, demonstrated in the preview GIF and setRevealed(animated:) API for engaging user interactions.

Multi-View Support

Works seamlessly with UITableView, UICollectionView, and UIScrollView, allowing integration across common iOS view types without extra configuration.

Customizable Appearance

MenuItem struct supports default/highlighted images, background colors, and shadows, and MenuView allows background image customization for tailored visual design.

Flexible Sticky Behavior

contentViewGravity provides top, center, and bottom sticking options, giving precise control over menu positioning during scroll as per the README's configuration examples.

Cons

Manual Setup Complexity

For older iOS targets like iOS 7, the README admits manual integration 'sucks,' requiring submodule addition and framework copying, which is cumbersome compared to modern dependency managers.

No SwiftUI Compatibility

Built solely for UIKit, it cannot be used natively in SwiftUI projects without bridging, limiting adoption in Apple's newer framework and future-proofing.

Top-Only Menu Limitation

Designed specifically for top menus; adapting it for bottom or side positions would require significant code changes or a different library, reducing versatility.

Frequently Asked Questions

Quick Stats

Stars3,436
Forks312
Contributors0
Open Issues2
Last commit6 years ago
CreatedSince 2015

Tags

#ios#animation#drag#menu#uitableview#ui-components#uicollectionview#custom#swift#sticky-header#uiscrollview#navigation

Built With

S
Swift

Links & Resources

Website

Included in

iOS51.7kSwift26.0k
Auto-fetched 1 day ago

Related Projects

folding-cellfolding-cell

:octocat: 📃 FoldingCell is an expanding content cell with animation made by @Ramotion

Stars10,205
Forks1,142
Last commit2 years ago
RESideMenuRESideMenu

iOS 7/8 style side menu with parallax effect.

Stars7,047
Forks1,327
Last commit8 years ago
SwipeCellKitSwipeCellKit

Swipeable UITableViewCell/UICollectionViewCell based on the stock Mail.app, implemented in Swift.

Stars6,289
Forks812
Last commit1 year ago
SideMenuSideMenu

Simple side/slide menu control for iOS, no code necessary! Lots of customization. Add it to your project in 5 minutes or less.

Stars5,823
Forks695
Last commit3 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub