An iOS filter menu component with dropdown, slide-in and tag-based screening, modeled after e-commerce apps.
pujiaxin33/JXCategoryView
An iOS category view library in Objective-C for segmented titles, paging and pager-style tab switching with customizable indicators and cells.
- Stars
- 6,151
- Forks
- 1,146
- Open issues
- 39
- Last commit
- 2 years ago
What is it?
JXCategoryView is an Objective-C library for iOS that builds the category tab bar and paged content found in apps like news and music clients. It provides a title view that switches between categories, a list container that synchronizes horizontal page scrolling with the selected tab, and a set of indicator styles such as lines, images, balls and triangles.
Indicators are built on a protocol, so developers can implement custom indicator effects, and cell styles are managed through subclasses of view, cell and cell model. The list container loads each page lazily and forwards willAppear, didAppear, willDisappear and didDisappear lifecycle calls to the pages it hosts, which can be either UIView or UIViewController instances.
The library targets iOS 9.0 and later with Xcode 9 or newer. It can be installed by copying the Sources folder into a project or through CocoaPods, and a separate Swift version is maintained as JXSegmentedView.
Key features
- 01Title-based category view with indicator styles such as line, image, ball and triangle
- 02Customizable indicators built on a protocol, with a base component view for subclassing
- 03Title cells supporting color gradient, scaling, images, badges and multi-line rich text
- 04Lazy-loaded list container that forwards page lifecycle callbacks
- 05Supports both UIView and UIViewController as list pages
Use cases
- Building a news or video app with a horizontally swipeable category tab bar
- Adding segmented control or tab-style switching to an iOS screen with custom indicator animations
- Creating a user profile page where a header sits above switchable list pages
Quick start
- 1
Clone the repository and drag the Sources folder into your project
- 2
Import the library header in your code
#import "JXCategoryView.h" - 3
Or add the CocoaPods dependency to your Podfile and install
pod install
Things to know
- Objective-C only and targets iOS, so it cannot be used on other platforms.
- The README lists iOS 9.0+ and Xcode 9+ as requirements.
Topics
FAQ
- What is JXCategoryView?
- An iOS category view library in Objective-C for segmented titles, paging and pager-style tab switching with customizable indicators and cells. JXCategoryView is an Objective-C library for iOS that builds the category tab bar and paged content found in apps like news and music clients. It provides a title view that switches between categories, a list container that synchronizes horizontal page scrolling with the selected tab, and a set of indicator styles such as lines, images, balls and triangles.
- Is JXCategoryView free to use? What license does it have?
- JXCategoryView is open source under the MIT license. Check the license terms before using it in commercial products.
- Is JXCategoryView still maintained?
- No commits for 6+ months. The last commit to JXCategoryView was on Aug 7, 2024.
- What can I use JXCategoryView for?
- Building a news or video app with a horizontally swipeable category tab bar Adding segmented control or tab-style switching to an iOS screen with custom indicator animations Creating a user profile page where a header sits above switchable list pages
- How do I install JXCategoryView?
- Clone the repository and drag the Sources folder into your project Import the library header in your code: #import "JXCategoryView.h" Or add the CocoaPods dependency to your Podfile and install: pod install
- Where can I get JXCategoryView?
- The source code and installation instructions are on GitHub: https://github.com/pujiaxin33/JXCategoryView
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A drop-in iOS library that stops the keyboard from covering UITextField and UITextView, with no code required.
A logging framework for Apple platforms (macOS, iOS, tvOS, watchOS, visionOS) that routes log messages to multiple loggers such as console, files and custom backends.
An iOS view controller for cropping UIImage objects, with rotation, circular crop, and aspect-ratio locking, modeled on the Photos app editor.
Official open-source iOS app repository for WordPress, letting users build and run the WordPress mobile app from source in Xcode.
A Swift calendar UI library for iOS and Mac Catalyst that looks like Apple's Calendar app and can be customized.