by Jesse Collis
- Visit JCMultimedia.com.au
- Follow @sirjec on Twitter
- Checkout the presentation I did on CATiledLayer Here
JCTiledScrollView is a set of classes that wrap UIScrollView and CATiledLayer. The project to simplify displaying large images and PDFs at multiple zoom scales. As the project evolves it's moving towards becoming a fully featured custom map view replacement with gestures and annotations.
Feature requests and pull-requests are most welcome.
- Display tiled bitmap images and single page PDFs with two separate classes
- Supports standard and high resolution displays
- You only need to provide one set of bitmap tiles; no need for @2x tiles
- A handy set of default UIGestureRecognizer actions and delegate callbacks
- Annotation support with an interface similar to MKMapView
- Demo code, example PNG tiles and PDF file included
- Supports iOS 4.0+
The JCTiledScrollView static library / classes are non-arc at the moment but can be converted to ARC with Xcode's refactor tool quite easily.
- You can drag annotations around over at the drag-annotations branch. This will come into master very soon
- JCTiledSCrollView is now packaged as a Static library within a workspace
- Updated source and demo to be compatible with Xcode's ARC refactor tool
- JCTiledScrollView is now provided as a static library
- Annotation support
- Merged experimental PDF rendering classes into the main project. Welcome JCTiledPDFScrollView.
- Added an initial set of UIGestureRecognizers with some optional default behaviour, similar to MKMapView
- Zooming in both directions
- Annotation selection
- Advanced UIGestureRecognizers (dragging overlays etc)
- Provide as a static library
- Cut your large images into tiles with Tile-Cutter by Jeff La Marche
- Cut your images on the command line with my fork of Chris Miles' experimental SliceTool program
- Shrink your bitmap tiles with Image Optim. It can half your tile size and improve performance greatly
- Subduing CATiledLayer by Matt Long (Cocoa is my Girlfriend)
- Apple Tech-Note Thread Safe UIKit Drawing (in iOS 4+) mentioned at WWDC 2010
- Tread safe objects in iOS4 UIGraphicsGetCurrentContext, UIImage, UIColor, UIFont
- Apple Documentation on Supporting High Resolution Screens
- Apple's View Programming Guide for iOS
- WWDC 2010 Session 104 - Designing Apps with ScrollViews
- WWDC 2011 Session 104 - Advanced Scroll View Techniques
- My presentation on CATiledLayer and JCTiledScrollView at Melbourne Cocoaheads
Initially created as an open source project for the February 2012 Melbourne Cocoaheads meeting.
Created by Jesse Collis [email protected], @sirjec, JC Multimedia Design.
The "Skipping Girl" image is copyright (c) 2012, Jesse Collis and licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
The code is copyright (c) 2012, Jesse Collis [email protected]. All rights reserved.
-
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.