KASlideShow

by kirualex

kirualex / KASlideShow

Ultra-basic slideshow for iOS (ARC only).

208 Stars 62 Forks Last release: Not found MIT License 101 Commits 7 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Language CocoaPods Compatible Build Status

KASlideShow

Slideshow for iOS. Easy to use. Support manual or automatic slideshow, with fade and slide transitions. Support local and remote images.

Demo screenshot

version 3.0.0 changelog

This version introduces a lot of breaking changes. Make sure to have a look at the demo.

  • Usage is now centered around the
    datasource
    protocol.
  • Changed
    datasource
    and
    delegate
    protocols methods for more consistency
  • Introducing the long awaited remote image handling! Just put a valid image NSURL into your
    datasource
    and you're all set.

Install

Normal install

Simply copy into your project folder :

  • KASlideShow.h
  • KASlideShow.m

Using cocoapods

add this line to your Podfile :

pod 'KASlideShow'

Usage

Quick example

- (void)viewDidLoad
{
    [super viewDidLoad];
    _datasource = @[[UIImage imageNamed:@"test_1.jpg"],
                    [NSURL URLWithString:@"https://i.imgur.com/7jDvjyt.jpg"],
                    @"test_3.jpg"];

_slideshow = [[KASlideShow alloc] initWithFrame:CGRectMake(0,0,320,250)];
_slideshow.datasource = self;
_slideshow.delegate = self;
[_slideshow setDelay:3]; // Delay between transitions
[_slideshow setTransitionDuration:1]; // Transition duration
[_slideshow setTransitionType:KASlideShowTransitionFade]; // Choose a transition type 
[_slideshow setImagesContentMode:UIViewContentModeScaleAspectFill]; // Choose a content mode for images to display
[_slideshow addGesture:KASlideShowGestureTap]; // Gesture to go previous/next directly on the image

}

#pragma mark - KASlideShow datasource

  • (NSObject *)slideShow:(KASlideShow *)slideShow objectAtIndex:(NSUInteger)index { return _datasource[index]; }

  • (NSUInteger)slideShowImagesNumber:(KASlideShow *)slideShow { return _datasource.count; }

#pragma mark - KASlideShow delegate

  • (void) slideShowWillShowNext:(KASlideShow *)slideShow { NSLog(@"slideShowWillShowNext, index : %@",@(slideShow.currentIndex)); }

KASlideShowDataSource

You need to implement the datasource to display images. KASlideShow can handle

UIImage
,
NNString
(name of local image) and
NSURL
(URL of remote image).
- (NSObject *) slideShow:(KASlideShow *)slideShow objectAtIndex:(NSUInteger)index;
- (NSUInteger) slideShowImagesNumber:(KASlideShow *)slideShow;

Use of a slideshow

[_slideshow next]; // Go to the next image
[_slideshow previous]; // Got to the previous image
[_slideshow start]; // Start automatic slideshow
[_slideshow stop]; // Stop automatic slideshow

KASlideShowDelegate

- (void) slideShowDidShowNext:(KASlideShow *) slideShow;
- (void) slideShowDidShowPrevious:(KASlideShow *) slideShow;
- (void) slideShowWillShowNext:(KASlideShow *) slideShow;
- (void) slideShowWillShowPrevious:(KASlideShow *) slideShow;
- (void) slideShowDidSwipeLeft:(KASlideShow *) slideShow;
- (void) slideShowDidSwipeRight:(KASlideShow *) slideShow;

Transitions

Here are the 3 available types of transitions you can set via

setTransitionType
.
    KASlideShowTransitionFade
    KASlideShowTransitionSlideHorizontal
    KASlideShowTransitionSlideVertical

You can furthermore specify the transition duration via

setTransitionDuration
.

Gestures

Two types gestures are available to interact with the slideshow via the

addGesture
method. It is possible to add them both.
    KASlideShowGestureTap
    KASlideShowGestureSwipe
    KASlideShowGestureAll

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.