Skip to content
CAI
Software that uses CAICheck a score

WenchaoD/FSPagerView

46.7

Weak · 3 August 2026

2.1k

lines of production code

Swift

primary language

3

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is an iOS library for creating horizontal or vertical paging views, commonly used for image carousels or page-based interfaces. It provides configurable scrolling behavior, including deceleration distance and item sizing, along with visual effects like a cubic 3D transformer. The codebase includes example applications in both Swift and Objective-C to demonstrate these features.

Features

Added Xcode project configuration for FSPagerView

The FSPagerView iOS framework now includes a complete Xcode project file (project.pbxproj), enabling the library to be built directly within the Xcode IDE. This change provides the necessary build configuration, source file references, and target definitions to support the framework's compilation and integration into iOS applications.

FSPagerView/FSPagerView.xcodeproj · high confidence

Support for vertical paging and new cubic transformer

The library now supports vertical scrolling in addition to the existing horizontal mode, allowing developers to create vertical carousels. A new 'cubic' transformer type has been added to provide a 3D cubic rotation effect. Additionally, the 'decelerationDistance' property has been introduced to control the number of items passed during deceleration, and the 'scrollDirection' property allows dynamic switching between horizontal and vertical layouts.

Sources · high confidence

Behavioural changes

3 commits (0 fixes) modifying FSPagerViewExample-Objc/FSPagerViewExample-Objc.xcodeproj/project.xcworkspace

A change to existing behaviour in FSPagerViewExample-Objc/FSPagerViewExample-Objc.xcodeproj/project.xcworkspace — 3 commits, 1 file.

FSPagerViewExample-Objc/FSPagerViewExample-Objc.xcodeproj/project.xcworkspace · medium confidence · unverified

Added Xcode workspace configuration and renamed Swift example project

A new Xcode workspace file (contents.xcworkspacedata) was added to the FSPagerView project, linking the main project file. Additionally, the Swift example project and its associated UI test files were renamed from FSPageSliderExample-Swift to FSPageViewExample-Swift, reflecting a change in the example's identity.

FSPageViewExample-Swift/FSPagerViewExampleUITests, FSPagerView/FSPagerView.xcodeproj/project.xcworkspace · high confidence

Added Xcode workspace for multi-language example projects

A new Xcode workspace file (contents.xcworkspacedata) was added to group the Swift and Objective-C example projects (FSPagerViewExample-Swift, FSPagerViewExample-Objc, and FSPagerView) into a single workspace, enabling easier navigation and building of the example applications.

FSPagerViewExamples.xcworkspace · high confidence

Removal of Xcode user-specific configuration files

The example project no longer includes user-specific Xcode settings, specifically the breakpoint list and scheme management plist. This cleanup removes personal development environment configurations from the repository, ensuring that only shared, reproducible project settings remain.

FSPageSliderExample-Swift · high confidence

Renames Swift demo project from FSPagerView to FSPageView

The Swift demo project directory and associated Xcode project files have been renamed from FSPagerView to FSPageView, reflecting the library's rebranding. This change updates the project structure and file references to align with the new naming convention, ensuring the example app matches the current public API and documentation.

FSPageViewExample-Swift/FSPagerViewExample.xcodeproj · high confidence

Update example app to use new FSPagerView API and add cubic transformer

The example application has been updated to use the renamed 'decelerationDistance' property instead of 'pagingDistance', and the 'itemSize' is now set using the new 'automaticSize' constant. Additionally, a 'cubic' transformer has been added to the list of available page transitions, and the demo projects now include controls for configuring deceleration distance, item size, and number of items.

FSPageViewExample-Swift/FSPagerViewExample · high confidence

Update example apps with new pager configuration options and UI fixes

The example applications now demonstrate the new 'decelerationDistance' property, allowing users to configure the pager's deceleration distance via a new settings section. The 'pagingDistance' property has been renamed to 'decelerationDistance' in the demo code. Additionally, the examples now use 'FSPagerViewAutomaticSize' for item sizing, fix an initial item-size issue, and update the image assets to use a consistent naming convention. The 'numberOfItemsInpagerView' method has been corrected to 'numberOfItemsInPagerView' to match the protocol, and the 'pagerViewDidScroll' delegate method has been replaced with 'pagerViewWillEndDragging' to better sync the page control with the final page index.

FSPagerViewExample-Objc/FSPagerViewExample-Objc · high confidence

Updated Xcode project configuration and scheme ordering

The Xcode project file was upgraded from version 0820 to 0940, and the scheme order hint was adjusted from 0 to 1, reflecting a local IDE configuration change rather than a product feature.

FSPagerViewExample-Objc/FSPagerViewExample-Objc.xcodeproj/xcuserdata · medium confidence

Updated Xcode project configuration for modern Swift and Xcode compatibility

The FSPagerView example project has been updated to support Swift 5.0 and Xcode 9+ through a migration to the modern project format. This includes upgrading the Xcode project file to use the latest build system settings, adding a new \FSPagerViewObjcCompat\ header and implementation for Objective-C compatibility, and reorganizing the project structure to group Swift source files under a 'Sources' directory. Additionally, the project now correctly references \Assets.xcassets\ and includes new layout attributes for the pager view.

FSPagerViewExample-Objc/FSPagerViewExample-Objc.xcodeproj · medium confidence

Updated Xcode scheme to build FSPagerView.framework instead of the example app

The Xcode scheme configuration has been updated to target the FSPagerView framework rather than the FSPagerViewExample application. This change updates the last upgrade version to 1030 and removes the test and UI test targets from the scheme, aligning the build configuration with the library's core distribution.

FSPagerView/FSPagerView.xcodeproj/xcshareddata · high confidence

Updated example app storyboards for new FSPagerView and FSPageControl options

The example app's Main.storyboard has been updated to demonstrate new configuration options. The FSPagerView instances now have 'removesInfiniteLoopForSingleItem' and 'alwaysBounceHorizontal' enabled, while the FSPageControl has 'hidesForSinglePage' enabled. Additionally, the storyboard files were moved from the FSPageSliderExample-Swift directory to the FSPageViewExample-Swift directory, and the Xcode project was updated to use the latest Interface Builder plugin version.

FSPageViewExample-Swift/FSPagerViewExample/Base.lproj · medium confidence

Updated example storyboard for Xcode 9 and Swift 4 compatibility

The Main.storyboard file in the Objective-C example project has been updated to support Xcode 9 and Swift 4. This includes updating the Interface Builder schema version and plugin versions, adjusting layout constraints for the navigation bar and header labels, and adding user-defined runtime attributes to configure the FSPagerView and FSPageControl components (specifically 'removesInfiniteLoopForSingleItem', 'alwaysBounceHorizontal', and 'hidesForSinglePage').

FSPagerViewExample-Objc/FSPagerViewExample-Objc/Base.lproj · medium confidence

Fixes

Fixed iOS minimum version configuration

The Xcode workspace configuration file (contents.xcworkspacedata) was added to the .swiftpm/xcode/package.xcworkspace directory, resolving an issue with the iOS minimum version settings.

.swiftpm · medium confidence

Dependencies

FSPagerView 0.8.3 release

The FSPagerView library has been updated to version 0.8.3, as indicated by the new header file and the updated Info.plist containing the version string 0.8.3.

FSPagerView/FSPagerView · high confidence

Update FSPagerView to version 0.8.3 with Swift 5.9 and iOS 9.0+ support

The FSPagerView library has been updated to version 0.8.3, introducing support for Swift 5.9 and raising the minimum iOS deployment target from 8.0 to 9.0. The package configuration now explicitly specifies Swift language version 5 and includes CocoaPods version requirements, ensuring compatibility with modern Swift Package Manager and CocoaPods workflows.

(dependencies) · medium 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

Score

  • CAI 47 → 47 (+0.0)

Lenses

  • Code Health 94 → 94 (+0.0)
  • Architecture 100 → 100 (+0.0)
  • Maturity 32 → 32 (+0.0)
  • Readiness 24 → 24 (+0.0)
  • Security 100 → 100 (+0.0)
  • Domain Modelling 100 → 100 (+0.0)

Findings

  • No change — the same findings as the prior survey.

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

WenchaoD/FSPagerView 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 3 August 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit f90ab7d2ee6847823708a0a4e11e87c3ee4e6e48 — the exact code this score is about.
  • Scored under rubric-2026.08.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer latest.