KASlideShow 3.0.0

KASlideShow 3.0.0

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布最后发布2016年7月

Alexis CreuzotAlexis Creuzot维护。



  • 作者:
  • Alexis Creuzot

适用于iOS的幻灯片播放器。易于使用。支持手动或自动幻灯片播放,带有淡入淡出和滑动过渡效果。支持本地和远程图片。

Demo screenshot

3.0.0版本更新日志

此版本引入了许多破坏性变更。请一定要看看演示。

  • 现在使用核心的是datasource协议。
  • 修改了datasourcedelegate协议方法以提高一致性
  • 引入了长期期待的网络图片处理!只需将有效的图片NSURL放入您的datasource即可。

安装

常规安装

只需将其复制到您的项目文件夹中

  • KASlideShow.h
  • KASlideShow.m

用法

快速示例

- (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

您需要实现数据源以显示图片。KASlideShow可以处理UIImageNNString(本地图片的名称)和NSURL(远程图片的URL)。

- (NSObject *) slideShow:(KASlideShow *)slideShow objectAtIndex:(NSUInteger)index;
- (NSUInteger) slideShowImagesNumber:(KASlideShow *)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;

过渡效果

您可以设置三种可用的过渡效果类型,通过调用setTransitionType

    KASlideShowTransitionFade
    KASlideShowTransitionSlideHorizontal
    KASlideShowTransitionSlideVertical

您还可以通过调用setTransitionDuration指定过渡时间。

手势

有两种类型的手势可供通过addGesture方法与幻灯片播放器交互。您可以同时添加它们。

    KASlideShowTransitionFade
    KASlideShowTransitionSlideHorizontal
    KASlideShowTransitionSlideVertical