Coder Social home page Coder Social logo

malcommac / circularscroller Goto Github PK

View Code? Open in Web Editor NEW
7.0 4.0 2.0 34 KB

Efficient and Lightweight endless UIScrollView implementation in Swift

License: MIT License

Ruby 3.43% Swift 96.57%
endless-scroll uiscrollview circular circular-scrollview

circularscroller's Introduction

Hello ๐Ÿ‘‹ I'm Daniele and I work as Mobile Tech Lead Manager at ImmobiliareLabs, the IT dept of Immobiliare.it.
I'm a passionate software engineer with a love for minimalism, product design and sushi.
I started programming on macOS in 2000 and iOS on 2007.

malcommac

OpenSource Projects

Maintaing and developing tools consumes resources and time.
While I enjoy making them your support is foundamental to allow me continue its development.
Consider becoming a Sponsor](https://github.com/sponsors/malcommac) of my works.

RealHTTP is lightweight await/async http client made for Swift.

RealFlags makes it easy to configure feature flags in your codebase.

Before async await there was promises. Hydra is a fast full-featured promise library for Swift.

Async/await client to interact with GitLab API v4 with Swift

With over 3 milion of downloads on CocoaPods, since 2015 SwiftDate is the #1 toolkit to parse, validate, manipulate, compare and display dates.

It allows you to use all system's location based services (plus external services like Google Maps, MapBox, OpenStreet and Nokia Here) directly from an easy to use and elegant APIs set.

SwiftRichString is a library which allows to create and manipulate attributed strings easily on all Apple Platforms.

Create complex scrollable layout using UIViewControllers or plain UIViews and simplify your code.

circularscroller's People

Contributors

malcommac avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

circularscroller's Issues

Great component with a few issues...

  1. On line 318 it should be 'break' instead of 'return'

  2. There is a flickering when scrolling from left to right because images are first removed with removeFromSuperView() and then added again with addSubview(). I solved this by inserting the subviews at index 0 and after recenterScrollOffset(), remove the subviews with an index > 0

  3. the first time the CircularScroller shows a scrollable image it's in the wrong size on small devices -> on line 375 [let centerOffsetX = CGFloat(centerPageIndex - 1) * bounds.size.width] the bounds are incorrect. For now I fixed this by replacing self.layoutIfNeeded() with self.layoutSubviews() ...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.