Ramotion/animated-tab-bar
40.3
Weak · 27 September 2026
1.2k
lines of production code
Swift
with JavaScript
4
measurements over time
What this system is
Features
Add customizable bottom line to the tab bar
A new bottom line indicator is now rendered beneath the tab bar items. The line's height can be dynamically updated via the \updateBottomLineHeight\ method, and its position automatically follows the selected tab item. This adds a visual accent to the tab bar that can be customized in height.
RAMAnimatedTabBarController/BottomLine · high confidence
Add keyframe frame animation support for tab bar items
A new RAMFrameItemAnimation class is introduced, enabling keyframe-based animations for UITabBar items. This allows developers to define a sequence of images (via plist or direct array) to create a frame-by-frame animation effect on tab bar icons, with configurable options for selection/deselection states and text color changes.
RAMAnimatedTabBarController/Animations/FrameAnimation · high confidence
Added Fume tab bar animation
The FumeAnimation class has been added to provide a bounce animation for the tab bar items. This new animation type supports customizing the icon and text colors for both selected and default states, allowing users to apply a dynamic visual effect when tabs are tapped or deselected.
RAMAnimatedTabBarController/Animations/FumeAnimation · high confidence
Added TabBarLib framework scaffolding
A new iOS framework target named TabBarLib was introduced, containing an Info.plist with FMWK package type and version 1.0, along with a header file that exposes the project's version number and string constants for external consumers.
RAMAnimatedTabBarDemo/TabBarLib · high confidence
Added Xcode project workspace and user-specific scheme configurations
The RAMAnimatedTabBarDemo project now includes the necessary Xcode workspace and user-specific scheme files. This ensures that the demo application can be built, run, and tested correctly within the Xcode IDE, providing a complete development environment for the project.
RAMAnimatedTabBarDemo/RAMAnimatedTabBarDemo.xcodeproj/project.xcworkspace, RAMAnimatedTabBarDemo/RAMAnimatedTabBarDemo.xcodeproj/xcuserdata · high confidence
Added demo app launch screen and main storyboard with animated tab bar scenes
The demo application now includes a LaunchScreen.xib for the app's initial splash screen, displaying the title "Animated Tab Bar" and a copyright notice. The Main.storyboard has been added to define the user interface for the animated tab bar, featuring four distinct tab scenes (Fume Animation, Transition Animation, Rotation Animation, and Bounce Animation) each linked to specific animation classes. Additionally, a ToolsAnimation.plist resource file was added to support the animation assets.
RAMAnimatedTabBarDemo/RAMAnimatedTabBarDemo/Base.lproj · high confidence
Added iOS demo app with badge support
The RAMAnimatedTabBarDemo project now includes a complete iOS application structure, including the main entry point (AppDelegate), the app configuration (Info.plist), and a demo view controller. The demo app features a button to show and hide a badge on the tab bar item, allowing users to test the animated tab bar's badge functionality directly.
RAMAnimatedTabBarDemo/RAMAnimatedTabBarDemo · high confidence
Added rotation and transition tab bar animations
The library now includes new animation types for the tab bar: rotation animations (left and right) and transition animations (flip from left, right, top, and bottom). These new classes allow developers to apply distinct visual effects when tab items are selected or deselected, enhancing the user experience with dynamic icon and text label animations.
RAMAnimatedTabBarController/Animations/RotationAnimation · high confidence
Initial project setup and documentation
The repository was initialized with essential configuration and documentation files. A \.gitignore\ file was added to exclude Xcode build artifacts, derived data, and \.DS\_Store\ files from version control. A \.swift-version\ file was added to specify Swift 4.2 as the target version. The \.travis.yml\ file was added to configure Travis CI for building the iOS simulator on Xcode 10.2. Additionally, \README.md\, \CHANGELOG.md\, and \CONTRIBUTING.md\ files were created to provide usage instructions, license information, and guidelines for community contributions.
(repo-wide) · high confidence
Introduce animated tab bar with customizable item animations and bottom line indicator
The RAMAnimatedTabBarController component now supports animated tab bar items, allowing each tab to play a custom animation when selected or deselected. Users can configure animation styles via the \animation\ property on each \RAMAnimatedTabBarItem\. Additionally, a new bottom-line indicator can be enabled to visually highlight the selected tab, with customizable color and height. The tab bar also supports right-to-left (RTL) layout for internationalization, and the default selected text color has been updated.
RAMAnimatedTabBarController · high confidence
Introduction of RAMBadge component for displaying notification counts
A new RAMBadge class, a subclass of UILabel, has been added to the project. This component provides a standard red circular badge with a white center, designed to be attached to other UI elements via the addBadgeOnView method, enabling the display of notification counts or status indicators on views.
RAMAnimatedTabBarController/RAMBadge · high confidence
Behavioural changes
11 commits (2 fixes) modifying RAMAnimatedTabBarDemo/RAMAnimatedTabBarDemo.xcodeproj/project.xcworkspace/xcuserdata
A change to existing behaviour in RAMAnimatedTabBarDemo/RAMAnimatedTabBarDemo.xcodeproj/project.xcworkspace/xcuserdata — 11 commits (2 fixs), 1 file.
RAMAnimatedTabBarDemo/RAMAnimatedTabBarDemo.xcodeproj/project.xcworkspace/xcuserdata · medium confidence · unverified
Added Xcode workspace configuration files
Added IDEWorkspaceChecks.plist and WorkspaceSettings.xcsettings to the RAMAnimatedTabBarDemo project's workspace data directory. These files configure workspace-level settings, including disabling automatic context creation and managing 32-bit warning states.
RAMAnimatedTabBarDemo/RAMAnimatedTabBarDemo.xcodeproj/project.xcworkspace/xcshareddata · high confidence
Bounce animation for tab bar items
Users can now see a bounce animation when selecting or deselecting tab bar items. The animation scales the icon and updates the text and icon colors to their selected or default states, providing visual feedback for tab selection.
RAMAnimatedTabBarController/Animations/BounceAnimation · high confidence
Updated Xcode scheme for the demo app
The Xcode project file for the RAMAnimatedTabBarDemo has been updated to include a new scheme configuration for the 'RAMAnimatedTabBarController' target. This change modifies the build, test, launch, profile, and archive actions for the demo application, ensuring the project's development environment is correctly configured for the current build settings.
RAMAnimatedTabBarDemo/RAMAnimatedTabBarDemo.xcodeproj/xcshareddata · medium confidence
Updated demo project configuration and structure
The RAMAnimatedTabBarDemo project file has been updated to reflect a reorganized project structure. This includes the addition of new source files such as RAMBadge.swift and its corresponding tests, the introduction of a BottomLine extension for the tab bar controller, and the inclusion of various animation implementations (Fume, Bounce, Rotation, Frame, Transition) within the demo application. The project configuration also reflects the integration of the core library as a framework dependency and updates to the build phases to include these new components.
RAMAnimatedTabBarDemo/RAMAnimatedTabBarDemo.xcodeproj · medium confidence
Test coverage
Initial unit test coverage for the animated tab bar and badge components
Added a new unit test target, AnimatedTabBarTests, containing 17 test cases that verify the behavior of the animated tab bar and its associated components. The tests cover the creation and configuration of the tab bar controller, including selection index, animated items count, and container counts. It also validates visual state changes such as the bottom line visibility and color, the hiding of the animation bar, and the enabled/disabled states of items. Additionally, a dedicated test class for the RAMBadge component verifies badge creation, attachment to views, and the synchronization of badge values.
RAMAnimatedTabBarDemo/AnimatedTabBarTests · high confidence
Dependencies
Add Swift Package Manager and CocoaPods support
The library now supports installation via Swift Package Manager and CocoaPods. A Package.swift file has been added to enable SPM integration, while the RAMAnimatedTabBarController.podspec defines the CocoaPods specification, including version 5.2.0 and a minimum iOS deployment target of 9.0.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.
Score
- CAI 44 → 40 (-3.8)
- Rubric changed (rubric-2026.08.15 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 100 → 100 (-0.4)
- Architecture 69 (new)
- Maturity 49 → 49 (+0.3)
- Readiness 20 → 39 (+18.8)
- Security 84 → 95 (+11.1)
- Accessibility 26 (new)
Resolved (34)
- Dimension evaluation failed
- LLM evaluation failed
- Low: security finding (details withheld)
- Low: security finding (details withheld)
- Low: security finding (details withheld)
- Low: security finding (details withheld)
- Low: security finding (details withheld)
- Low: security finding (details withheld)
- Low: security finding (details withheld)
- Low: security finding (details withheld)
- Low: security finding (details withheld)
- Low: security finding (details withheld)
- Low: security finding (details withheld)
- Low: security finding (details withheld)
- Low: security finding (details withheld)
- Low: security finding (details withheld)
- Low: security finding (details withheld)
- Low: security finding (details withheld)
- Low: security finding (details withheld)
- Low: security finding (details withheld)
- …and 14 more
New (10)
- Ambiguous intent between state setters and animation triggers: selectedState() and deselectedState() sound like they set the visual state, while playAnimation() and deselectAnimation() sound like they trigger specific animation sequences. However, in the context of the protocol implementations (e.g., RAMItemAnimation), these methods often perform both state changes and animations, leading to confusion about whether calling selectedState() triggers an animation or just updates colors.
- Coverage not measured — Swift suite
- Dependency hygiene PARTLY measured — SwiftPM pinning read, dependency currency NOT established
- Documentation: no installation or build instructions (docs/docsets/RAMAnimatedTabBarDemo.docset/Contents/Resources/Documents/index.html)
- Duplicated block (11 lines × 2) (RAMAnimatedTabBarController/Animations/BounceAnimation/RAMBounceAnimation.swift)
- Duplicated block (9 lines × 2) (RAMAnimatedTabBarController/Animations/BounceAnimation/RAMBounceAnimation.swift)
- Low cohesion: RAMAnimatedTabBarController (LCOM4 4) (RAMAnimatedTabBarController/RAMAnimatedTabBarController.swift)
- No dependency advisory monitoring
- Orphaned files with no living knowledge
- Redundant state management: The controller exposes standard properties for selected index and view controller, but also provides a custom method setSelectIndex that duplicates the logic of setting selectedIndex. This creates two ways to achieve the same state change.
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
Ramotion/animated-tab-bar was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 27 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 52174249fa7b296c0fce1114be8f34081b85ffc3 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-d00c643c3f66.